gpt4 book ai didi

Android:如何在 "force closed"之后自动重启应用程序?

转载 作者:IT老高 更新时间:2023-10-28 13:13:36 32 4
gpt4 key购买 nike

在 Android 应用程序中,如果我们没有正确处理异常,我们通常会收到“强制关闭”错误。

如果我的应用程序被强制关闭,如何自动重启?

是否为此使用了任何特定权限?

最佳答案

要做到这一点,你必须做两件事:

  1. 避免“强制关闭”——应用程序崩溃的标准方式。
  2. 在崩溃发生时设置重启机制。

请参阅下面的操作方法:

  1. 调用 Thread.setDefaultUncaughtExceptionHandler() 以捕获所有未捕获的异常,在这种情况下将调用 uncaughtException() 方法。 “强制关闭”不会出现,应用程序将无响应,这不是一件好事。为了在应用程序崩溃时重新启动您的应用程序,您应该执行以下操作:

  2. onCreate 方法中,在您的主 Activity 中初始化一个 PendingIntent 成员:

    Intent intent = PendingIntent.getActivity(
    YourApplication.getInstance().getBaseContext(),
    0,
    new Intent(getIntent()),
    getIntent().getFlags());

然后将以下内容放入您的 uncaughtException() 方法中:

AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 2000, intent);
System.exit(2);

您还必须调用System.exit(),否则将不起作用。这样,您的应用程序将在 2 秒后重新启动。

最终,您可以在应用程序崩溃的 Intent 中设置一些标志,并且在您的 onCreate() 方法中,您可以显示一个对话框“对不起,应用程序崩溃了,希望不再发生 :) ”。

关于Android:如何在 "force closed"之后自动重启应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2681499/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com