android服务活动行为概念检查

时间:2013-05-04 04:50:01

标签: android service android-activity

在做了一些研究之后,我总结了以下几点,如果我错了,请告诉我。

活动通过“onStartCommand”在服务类中启动服务。 onStartCommand(){

return START_NOT_STICKY;

} 因此,使用START_NOT_STICKY,服务将永远运行,除非被系统内存低电平杀死。

与服务相关的活动将更容易被杀死,只留下服务。

以下不太确定: 我可以在任务栏中添加一个图标,并在通知页面中添加一个通知块。我可以在它们上添加onchecklistener。当点击图标时,我必须检查活动是否被广播杀死,然后重新启动活动并更新视图。

1 个答案:

答案 0 :(得分:1)

  

活动通过“onStartCommand”启动服务

Activity不通过调用onStartCommand启动服务,而是调用startService()或bindService(),因此系统调用onStartCommand或onBind。

  

使用START_NOT_STICKY,服务将永远运行,除非被系统内存低电平杀死。

服务用于在没有任何用户界面的情况下在后台执行长时间操作。您在服务的onStartCommand方法中返回的整数决定如果您的服务被终止,操作系统应该执行。

  

与服务相关的活动将更容易被杀死,只留下服务。

服务没有用户界面。服务将继续运行取决于您是否通过调用bindService()或startService()

启动服务
  

我可以在任务栏中添加一个图标,并在通知页面中添加一个通知块。

是的,您可以向通知栏添加通知。

  

我可以在它们上添加onchecklistener。

您可以在通知上定义和设置Pending Intent

  

点击图标后,我必须检查活动是否被广播杀死,然后重新启动活动并更新视图。

阅读本文Starting Activity through notification: Avoiding duplicate activities