簡體   English   中英

我想以編程方式在Android中獲取應用程序崩潰信息,而無需使用第三方應用程序或jars(例如bugsense等)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM