2016-08-13 2 views
0

、私はそうのようなキャッチされない例外を追跡するためにGoogle Analyticsを使用しています:setDefaultUncaughtExceptionHandler()を使用しているときに通常のクラッシュ動作を強制する方法は?私が開発していますアプリで

// ...after setting up Google Analytics... 
Thread.setDefaultUncaughtExceptionHandler(new AnalyticsExceptionHandler(Thread.getDefaultUncaughtExceptionHandler())); 

そして、これはハンドラである、AnalyticsExceptionHandlerクラス:

public class AnalyticsExceptionHandler implements UncaughtExceptionHandler 
{ 
    // Private 
    private UncaughtExceptionHandler _defaultHandlerRef; 

    public AnalyticsExceptionHandler(UncaughtExceptionHandler defaultHandlerRef) 
    { 
     this._defaultHandlerRef = defaultHandlerRef; 
    } 

    @Override 
    public void uncaughtException(Thread t, Throwable e) 
    { 
     // ...track and send the exception to Google Analytics... 
     _defaultHandlerRef.uncaughtException(t, e); 
    } 
} 

シングアプリが実際にクラッシュすることはありません、それはちょうどフリーズします。 setDefaultUncaughtExceptionHandler()行を削除すると、アプリが正常にクラッシュします。

私は上記のコードを前のデフォルトハンドラに渡して何か問題がありますか?

+0

それはあなたを助けるかもしれないhttps://stackoverflow.com/questions/46070393/replacing-default-uncaught-exception-handler-to-avoid-crash-dialogを見てみましょう –

答えて

0

なぜ例外を再スローしませんか?

public void uncaughtException(Thread t, Throwable e) 
{ 
    // ...track and send the exception to Google Analytics... 
    _defaultHandlerRef.uncaughtException(t, e); 

    throw e; 
} 
関連する問題