最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 應(yīng)用Crash 后自動重啟的方法小結(jié)

 更新時(shí)間:2020年06月12日 14:03:31   作者:小米科技Android 研發(fā)曹新雨  
這篇文章主要介紹了Android 應(yīng)用Crash 后自動重啟的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

前提

首先,我們肯定要在Application里面注冊一個(gè)CrashHandler,監(jiān)聽?wèi)?yīng)用crash

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

然后在這個(gè)CrashHandler 想辦法重啟應(yīng)用。有兩種方法如下:

方法1.通過AlarmManager

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

  //重啟app
  /**
   * 這種方式 功能是可以達(dá)成
   * 但是有問題就是如果說你的app掛了 這時(shí)候會顯示系統(tǒng)桌面
   * 然后你的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());
 }
}

這個(gè)第三方庫的原理是:
當(dāng)app 崩潰的時(shí)候,ProcessPhoenix.triggerRebirth(TestApplication.getInstance());就會觸發(fā)啟動另外一個(gè)進(jìn)程的Activity,然后把當(dāng)前崩潰的進(jìn)程結(jié)束掉。在新進(jìn)程的Activity里面,把應(yīng)用在自己的進(jìn)程里面的啟動起來。

總結(jié)

到此這篇關(guān)于Android 應(yīng)用Crash 后自動重啟的文章就介紹到這了,更多相關(guān)android 自動重啟內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

霍邱县| 勃利县| 徐闻县| 广元市| 赤壁市| 霸州市| 怀仁县| 灵武市| 三穗县| 吐鲁番市| 德惠市| 孟村| 田东县| 徐闻县| 清水河县| 武川县| 梁河县| 仁布县| 蒙阴县| 仲巴县| 贵定县| 刚察县| 射阳县| 福鼎市| 眉山市| 麟游县| 闽清县| 安乡县| 安图县| 合山市| 三原县| 海晏县| 巴马| 阳山县| 拜泉县| 岢岚县| 林州市| 道孚县| 万盛区| 邢台市| 安西县|