編輯:Android開發教程
異常捕獲主要是在全局的Application中來處理的,Android提供了一個CrashHandler用來進行錯誤處理。
intent添加 “Intent.FLAG_ACTIVITY_NEW_TASK” 標記的原因是——Content的startActivity方法,需要開啟一個新的task。如果使用 Activity的startActivity方法,不會有任何限制,因為Activity繼承自Context,重載了startActivity方法。所以如果是context啟動Activity就需要添加這個標記。
package com.chy.global; import java.lang.Thread.UncaughtExceptionHandler; import android.app.Application; import android.content.Intent; import com.chy.activity.MainActivity; import com.chy.utils.LogUtils; public class CrashApplication extends Application { //全局錯誤信息, 當發生錯誤時去取該信息 private static String errMsg = null; //異常處理器 private CrashHandler crashHandler = null; @Override public void onCreate() { super.onCreate(); crashHandler = new CrashHandler(this); Thread.setDefaultUncaughtExceptionHandler(crashHandler); } public static String getErrMsg() { return errMsg; } public static void setErrMsg(String errMsg) { CrashApplication.errMsg = errMsg; } class CrashHandler implements UncaughtExceptionHandler { private Application app = null; public CrashHandler(Application app) { this.app = app; } @Override public void uncaughtException(Thread thread, Throwable ex) { ex.printStackTrace(); LogUtils.log(ex); // 此處示例發生異常後,重新啟動應用 Intent intent = new Intent(app, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); app.startActivity(intent); android.os.Process.killProcess(android.os.Process.myPid()); } } }
URL:http://www.bianceng.cn/OS/extra/201609/50437.htm
寫完應用之後,作完單元測試和功能測試,有必要對應用的抗打擊能力做個測試,最好的方法是雇個“猴子”在測試,猴子 可以胡亂瞎按鍵,在這種情況下,你的應
AndroidAnnotations是一個開源框架,旨在加快Android開發的效率。通過使用它開放出來的注解api,你幾乎可以使用在任何地方, 大大的減少了無關痛癢的代
Android操作系統本身就是一個巨大的開源軟件倉庫,熟悉它既可以了解到Android系統的設計框架,也可以獲得高效的應用程序編寫方式。本文所分析的源碼來自於Google
前面介紹了Android RoboGuice2 的HelloWorld示例,並介紹了從RoboGuice 1.1 升級到RoboGuice2.0 的主要注意事項。本例介紹