如何在 Android 10 中以编程方式重新启动应用程序?

Use*_*163 4 java android

我想要一种在用户进行任何删除广告横幅的应用内购买后重新启动应用程序的方法,以便onCreate()再次调用这些方法。

\n

问题是,我不\xe2\x80\x99不希望任何服务被终止,我只想应用程序以更改的限制重新启动

\n

我在 Stack Overflow 上找到了这段代码:

\n
Intent mStartActivity = new Intent(getApplicationContext(), MainActivity.class);\nint mPendingIntentId = 123456;\nPendingIntent mPendingIntent = PendingIntent.getActivity(getApplicationContext(), mPendingIntentId, mStartActivity, PendingIntent.FLAG_CANCEL_CURRENT);\nAlarmManager mgr = (AlarmManager)getApplicationContext().getSystemService(Context.ALARM_SERVICE);\nmgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);\nSystem.exit(0);\n
Run Code Online (Sandbox Code Playgroud)\n

Arv*_*ind 5

更新:要重新启动应用程序,请在设置这些标志时制定根活动的意图

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

这将确保启动根活动的新实例(第一个标志),同时所有以前的活动都从堆栈中弹出(第二个标志)


recreate()在同一活动中使用。

如果您的应用程序未运行,它在打开时已经刷新。