如何强制退出Android应用程序并重新启动它?

时间:2011-06-29 22:58:46

标签: java android

我的Android应用有一个需要Flash插件的WebView。如果未安装,webview将提供Adobe Flash的市场链接。安装Flash后,在我的应用程序中实例化它的唯一方法是强制退出并重新启动应用程序。我想向用户提供一个按钮,为他们执行此操作,因为对于临时用户来说,打开他们的运行进程并强制手动退出应用程序太复杂了。实现这样一个重启按钮的Java代码是什么?

3 个答案:

答案 0 :(得分:29)

您可以分两步重启您的应用:

  1. 杀死自己的进程。使用 Process.myPid(),将其传递给 Process.killProcess()。您可能需要向清单添加权限(可能是android.permission.KILL_BACKGROUND_PROCESSES)才能使其生效。
  2. 在您终止自己的进程之前,请注册一个具有待处理意图的警报,以便在不久的将来重新启动您的Activity。 alarm.set的第二个参数是triggerAtTime。将其设置为0会立即触发警报。这里的示例设置了在未来一秒钟内启动应用程序的时间。
  3. 守则是这样的:

    AlarmManager alm = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
    alm.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, PendingIntent.getActivity(this, 0, new Intent(this, this.getClass()), 0));
    

答案 1 :(得分:0)

我想您可以致电finish让您的活动停止,但您将无法再次启动应用。这将需要(如果它甚至可能)root,这将是一个可怕的想法。这意味着任何应用程序都可以随时启动:这只是一个坏主意,如果可能的话,它实际上就是一个错误。

答案 2 :(得分:-1)

您可以使用System.exit(0)退出应用:这不需要您的应用的权限