在做了一些研究之后,我总结了以下几点,如果我错了,请告诉我。
活动通过“onStartCommand”在服务类中启动服务。 onStartCommand(){
return START_NOT_STICKY;
} 因此,使用START_NOT_STICKY,服务将永远运行,除非被系统内存低电平杀死。
与服务相关的活动将更容易被杀死,只留下服务。
以下不太确定: 我可以在任务栏中添加一个图标,并在通知页面中添加一个通知块。我可以在它们上添加onchecklistener。当点击图标时,我必须检查活动是否被广播杀死,然后重新启动活动并更新视图。
答案 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