如何以编程方式强制完整的应用程序重启?例如杀,然后开始

gar*_*man 8 android

我有一个包含复杂服务和活动UI的应用程序.该应用程序在多个设备上运行,这些设备通过WIFI相互通信.

由于该应用程序是一个原型/开发中,我想添加对"强制重启"的支持,它将杀死应用程序并重新启动它.根据用例,有很多共享的UI内容已经搞砸了,如果我只需触摸一个按钮即可完全重启应用程序,那么在测试过程中会更容易(我有多个设备).

那么,有没有人对如何:

1)强制关闭/停止/终止您自己的应用程序.

2)设置一个计时器/意图,告诉操作系统在关闭/停止/终止它之前启动你的应用程序.

任何提示将不胜感激!谢谢.

Ram*_*mar 7

使用以下代码重新启动应用程序:

            Intent mStartActivity = new Intent(HomeActivity.this, SplashScreen.class);
            int mPendingIntentId = 123456;
            PendingIntent mPendingIntent = PendingIntent.getActivity(HomeActivity.this, mPendingIntentId, mStartActivity,
                    PendingIntent.FLAG_CANCEL_CURRENT);
            AlarmManager mgr = (AlarmManager) HomeActivity.this.getSystemService(Context.ALARM_SERVICE);
            mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);
            System.exit(0);
Run Code Online (Sandbox Code Playgroud)


sle*_*ica 0

没有可以做的。操作系统决定何时终止应用程序。您的应用程序可以复活,无论它是真的死了还是只是隐藏了。

这很不方便,但平台就是这样工作的。您可以通过管理您的活动来产生相同的面向用户的效果,您可以终止和恢复活动。

  • 所以你不能 Process.killProcess(Process.myPid()) 你自己的应用程序? (3认同)