91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android如何應用Crash實現自動重啟?

發布時間:2020-06-23 15:45:17 來源:億速云 閱讀:1230 作者:清晨 欄目:移動開發

不懂Android如何應用Crash實現自動重啟??其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。

首先,我們肯定要在Application里面注冊一個CrashHandler,監聽應用crash

public class TestApplication extends MultiDexApplication {
 private static TestApplication mInstance;
 @Override
 public void onCreate() {
  super.onCreate();
  Thread.setDefaultUncaughtExceptionHandler(new CrashHandler());
   }

然后在這個CrashHandler 想辦法重啟應用。有兩種方法如下:

方法1.通過AlarmManager

 public class CrashHandler implements Thread.UncaughtExceptionHandler {
 @Override
 public void uncaughtException(Thread t, Throwable e) {

  //重啟app
  /**
   * 這種方式 功能是可以達成
   * 但是有問題就是如果說你的app掛了 這時候會顯示系統桌面
   * 然后你的app有啟動起來了
   * 給人的感覺不太好
   */
  Intent intent = new Intent();
  Context context = TestApplication.getInstance();
  intent.setClass(context, MainActivity.class);
  intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  context.startActivity(intent);
  PendingIntent pendingIntent = PendingIntent.getActivity(context,0,intent,PendingIntent.FLAG_ONE_SHOT);
  AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
  alarmManager.set(AlarmManager.RTC,System.currentTimeMillis() + 100,pendingIntent);
  Process.killProcess(Process.myPid());
  System.exit(0);

 }
}

方法2:

使用第三方庫

 implementation 'com.jakewharton:process-phoenix:2.0.0'
public class CrashHandler implements Thread.UncaughtExceptionHandler {
 @Override
 public void uncaughtException(Thread t, Throwable e) {

  ProcessPhoenix.triggerRebirth(TestApplication.getInstance());
 }
}

這個第三方庫的原理是:
當app 崩潰的時候,ProcessPhoenix.triggerRebirth(TestApplication.getInstance());就會觸發啟動另外一個進程的Activity,然后把當前崩潰的進程結束掉。在新進程的Activity里面,把應用在自己的進程里面的啟動起來。

感謝你能夠認真閱讀完這篇文章,希望小編分享Android如何應用Crash實現自動重啟?內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

百色市| 福贡县| 黄山市| 彭州市| 张掖市| 洛川县| 河南省| 南汇区| 鸡西市| 志丹县| 光山县| 彰化县| 若尔盖县| 宁陕县| 南汇区| 盐池县| 枝江市| 西乌| 灌阳县| 滨海县| 临武县| 托里县| 定襄县| 微山县| 台山市| 剑川县| 香格里拉县| 行唐县| 宣恩县| 德清县| 滨州市| 界首市| 文成县| 延边| 南郑县| 永德县| 革吉县| 成都市| 南丰县| 津南区| 湄潭县|