[英]I want to get application crash info in Android programmatically without using 3rd party apps or jars like bugsense etc
我有一個基於webview的android應用程序,我想獲取崩潰報告並將其存儲到文本文件中,但是我無法在任何地方找到任何編程的本機解決方案。 我已經閱讀了這篇文章,但無法使用。 我沒有代碼,因為我不知道從哪里開始
處理崩潰日志的最佳方法是創建一個UncaughtExceptionHandler並根據您的要求進行處理。 創建一個BaseActivity類,並使用該類擴展所有Activity,並將此代碼內容放入BaseActivity類中。
private Thread.UncaughtExceptionHandler handleAppCrash =
new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.e("error", ex.toString());
//send email here
}
};
然后通過使用在您的BaseActivity的onCreate()方法內部啟用
Thread.setDefaultUncaughtExceptionHandler(handleAppCrash);
我通過在活動的onCreate()中使用此方法來捕獲未處理的異常:
mUEHandler = new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
try {
PrintWriter pw = new PrintWriter(new OutputStreamWriter(
openFileOutput(DMP_FILENAME, 0)));
e.printStackTrace(pw);
pw.flush();
pw.close();
} catch (FileNotFoundException e1) {
// do nothing
}
BaseActivity.this.finish();
}
};
Thread.setDefaultUncaughtExceptionHandler(mUEHandler);
這會將您活動中發生的所有未處理的異常都寫入文本文件。 然后,您可以對其進行分析。
為什么不記錄Log.e(“ tag”,“ msg”)之類的所有內容,否則檢查logcat的崩潰情況
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.