Android 聆听应用程序被杀死&;在它被杀死之前做点什么
我正在开发一个Android应用程序。我的应用程序中有跑步记录 当应用程序被终止时,我需要在服务中处理一些事情。如何收听应用程序被杀事件?对此是否有广播操作?如果没有,是否有办法听到应用程序被杀死 我在MyService的Android 聆听应用程序被杀死&;在它被杀死之前做点什么,android,android-intent,broadcastreceiver,android-broadcast,Android,Android Intent,Broadcastreceiver,Android Broadcast,我正在开发一个Android应用程序。我的应用程序中有跑步记录 当应用程序被终止时,我需要在服务中处理一些事情。如何收听应用程序被杀事件?对此是否有广播操作?如果没有,是否有办法听到应用程序被杀死 我在MyService的onDestroy()回调中有一条日志消息,但当我在设置中“强制停止”我的应用程序时,不会调用它 public MyService extends Service{ ... @Override public void onDestroy(){ super
onDestroy()回调中有一条日志消息,但当我在设置中“强制停止”我的应用程序时,不会调用它
public MyService extends Service{
...
@Override
public void onDestroy(){
super.onDestroy();
//It is not called when force stop my app from system settings
Log.i("Debug","service is killed!");
}
}
但我知道google play中有一些应用程序在被系统杀死后会自动重启,它们是如何实现这一功能的呢???在你的应用程序被杀死之前,你无法检测到或接收到消息onPause()
和onDestroy()
是您的最佳选择,但不能保证它们中的任何一个都会被调用
但是,在您的服务的onStartCommand()
中返回START\u STICKY
或START\u REDELIVER\u INTENT
将使Android在资源再次可用时重新启动您的服务
请注意,在较新版本的Android上强制停止应用程序(不记得确切的版本,但我认为ICS)将停止该过程,直到用户手动启动。这意味着,如果用户在“设置”中单击“强制停止”,则“开始”将无效。我不这么认为,因为Service.ondestory()
不保证每次服务被破坏时都会运行。是的,我登录了ondestory(),但在“系统设置”中强制停止应用程序时不会调用它。好的,那么,你的意思是,如果只考虑应用程序被系统杀死,基本上没有办法来检测这个事件…