接收短信或致电时重启应用

时间:2013-04-12 11:10:25

标签: android

我想知道当应用设置为>管理应用时>强制关闭时到底发生了什么。 它是否调用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();      }
  我在broadcastReceiver的onReceive()中写这个 请帮帮我。

2 个答案:

答案 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意图并重新启动你的应用程序。