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

2022-09-04 07:06:29

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


答案 1

您可以通过两个步骤重新启动应用:

  1. 杀死你自己的进程。使用 ,将其传递到 。您可能需要向清单添加权限(可能)才能使其正常工作。Process.myPid()Process.killProcess()android.permission.KILL_BACKGROUND_PROCESSES
  2. 在终止自己的进程之前,请注册一个警报,其中包含一个挂起的意图,以便在不久的将来重新启动您的活动。的第二个参数是 。将其设置为 0 会导致警报立即触发。此处的示例设置了在将来一秒内启动应用的时间。alarm.settriggerAtTime

代码是这样的:

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));

答案 2

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


推荐