我想知道当应用设置为>管理应用时>强制关闭时到底发生了什么。 它是否调用onDestroy()。如果用户强制关闭,我想重新启动我的应用程序。这该怎么做。我想知道我是否可以在接收短信或使用broadcastReceivers呼叫时重新开始。
是的,我正在做同样的事情。我正在检查我的服务正在使用此代码运行,但它始终显示“服务运行”Toast boolean isServiceRunning = AppSettings.getServiceRunning(context); if(isServiceRunning) { Toast.makeText(context,“service running”,Toast.LENGTH_LONG).show(); } 其他 { Toast.makeText(context,“service stopped”,Toast.LENGTH_LONG).show(); }答案 0 :(得分:0)
强制关闭是:
android.os.Process.killProcess(android.os.Process.myPid());
在AndroidManifest中注册您的接收器。这样,即使你的应用程序也会调用它 未运行:R.styleable.AndroidManifestReceiver
然后,您可以在BroadcastReceiver中检查该服务是否正常 仍在运行并重新启动它。
例如,请参阅类SmSForwarder here。广播接收者 不需要运行,因为它是注册表中的 AndroidManifest.xml(见第29行)。 Android将启动 广播接收者一旦有意图 " android.provider.Telephony.SMS_RECEIVED"发送。
答案 1 :(得分:0)
用户强制关闭后重新启动应用可能会被视为恶意软件的标志。这是非常沮丧的。话虽如此,如果您真的想重新启动它,请使用AlarmManager并每小时左右检查应用状态。
不是短信或电话,最好抓住android.intent.action.SCREEN_ON
意图并重新启动你的应用程序。