跳转至

代码重启app的方法

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

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

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

1
2
3
4
5
6
7
8
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. 退出当前进程

重启前弹出一些提示给用户,提高产品体验

参考:

stackoverflow

本站说明

一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。

AndroidTutorial AndroidTutorial 反馈问题 讨论区 最近更新 投喂作者

Ads