Skip to content

代码重启app的方法

修改日期:2022-5-24
  • 2022-5-24:增加说明
  • 2022-2-3 创建文档

使用PackageManager实现重启app的功能。

具体步骤是,先startActivity启动自己app,然后退出当前进程。

public static void triggerRebirth(Context context) {
    PackageManager packageManager = context.getPackageManager();
    Intent intent = packageManager.getLaunchIntentForPackage(context.getPackageName()); // (1)
    ComponentName componentName = intent.getComponent();
    Intent mainIntent = Intent.makeRestartActivityTask(componentName); // (2)
    context.startActivity(mainIntent);
    Runtime.getRuntime().exit(0); // (3)
}
  1. 会先去找注册了android.intent.category.INFO的activity,然后找android.intent.category.LAUNCHER
  2. 创建的intent用来重启app
  3. 退出当前进程

参考: https://stackoverflow.com/questions/6609414/how-do-i-programmatically-restart-an-android-app

作者: rustfisher.com | rf.cs@foxmail.com
示例: AndroidTutorial Gitee, Tutorial Github
本文链接: https://www.an.rustfisher.com/android/pm/restart-App/
一家之言,仅当抛砖引玉。如有错漏,还请指出。如果喜欢本站的内容,还请支持作者。也可点击1次下方的链接(链接内容与本站无关),谢谢支持服务器。 如有疑问,请与我联系:Android issues - gitee