2013-06-20 30 views
3

當應用程序崩潰時,我們可以看到類似您的精彩應用程序已停止。我怎樣才能改變這段文字?如何更換標準錯誤信息?

+1

你不能。它的Android運行時檢測到崩潰併產生消息。 – Phil

回答

3

器具UncaughtExceptionHandler並將其分配給您的Application

public class MyApplication extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 

     Thread.setDefaultUncaughtExceptionHandler(new CrashHandler()); 
    } 
} 

public final class CrashHandler implements UncaughtExceptionHandler { 
    private final UncaughtExceptionHandler handler; 

    public CrashHandler() { 
     // Uncomment this line if you want to show the default app crash message 
     //this.handler = Thread.getDefaultUncaughtExceptionHandler(); 
    } 

    @Override 
    public void uncaughtException(final Thread thread, final Throwable throwable) { 
     // Show pretty message to user 

     // Uncomment this line to show the default app crash message 
     //this.handler.uncaughtException(thread, throwable); 
    } 
} 
+0

感謝您的代碼片段。 :)我只是想知道如果錯誤仍然是發送到遊戲商店的開發控制檯? – Endzeit

+0

只有未處理的錯誤(即崩潰)將被髮送到開發控制檯。如果您在uncaughtException()中處理它,並且從不調用Thread.getDefaultUncaughtExceptionHandler()。uncaughtException(),它將不會被髮送到開發控制檯。 – Alan

0

我覺得這是你從網站上找什麼

ACRA - Application Crash Report for Android

提要

當碰撞發生時,您可以選擇和配置4種不同的互動方式與用戶:

無聲(默認):ACRA操作不可見。發送崩潰報告,然後默認的android崩潰系統完成它的工作(強制關閉對話框)

Toast:發生崩潰時,ACRA顯示一個Toast並同時發送報告。

通知:應用程序崩潰時顯示可選的烤麪包,但不立即發送報告。發佈狀態欄通知警告用戶他應該發送報告。選中時,通知會顯示一個對話框,要求授權發送報告,並附帶可選的用戶註釋。

對話框:自4.3.0b1,實驗性,允許顯示崩潰對話框,而不需要狀態欄通知。

希望鏈接幫助。

+0

因此,您可以選擇當您的應用失敗時看到的四個(三個真正的)Android通知中的哪一個,但您實際上不能對其中任何一個通知。這回答了一個不同的問題:「我怎樣才能改變文本」(即用他自己選擇的文本替換它)。 – Phil

+0

是的,它是完全不同的東西 – Yarh

+0

嘿,對不起,我..想知道這個問題..以爲你問如何處理它..感謝您糾正它.. –

3

由於未處理的異常,通常會顯示這些錯誤。如果在程序的開頭設置了未處理的異常處理程序,然後在那裏顯示要查看的消息。

但是,我不完全確定,但是,如果在您的消息之後顯示是否也顯示了默認的Android警報,但這可能是您在之後。

+0

如果我們不明確地調用它,默認不顯示。 – Yashasvi