1

我有一个必须启动外部活动的服务。我希望即使在启动 Activity 之后,该服务也将继续运行。问题是 onDestroy() 被调用并且服务被杀死。这是我的代码:

我如何从服务内部启动外部活动:

      Intent intent = new Intent(Intent.ACTION_DIAL);        
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      context.startActivity(intent);

任何想法?

4

1 回答 1

2

当我从服务内部启动活动时,该服务被杀死是否正常?

服务没有被“杀死”。

您的服务将运行到:

  • 您调用stopService()引用服务,或
  • 服务调用stopSelf(),或
  • 如果您使用的是绑定模式,则所有绑定 (via bindService()) 都是未绑定 (via unbindService()),或者
  • Android 会终止您的进程,例如由于内存不足或用户请求

因此,您需要确定哪些条件为真。没有必要与开始一项活动有任何关系。

请注意,从服务启动活动通常不是一个好主意,特别是如果这可能发生在任意时间而不是基于用户输入时。用户不喜欢突然出现的活动。

于 2013-03-24T20:03:31.427 回答