2016-08-17 2 views
1

私は電報のソースを使用していると私はAndroidManifest.xmlを変更ランチャー活動電報ソースでクラッシュした後

<activity 
     android:name="org.telegram.memberbegir.ActivitySplash" 
     android:screenOrientation="portrait" 
     android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" /> 
     </intent-filter> 
    </activity> 

でこのコードでランチャーの活動を変更する必要がありますが、アプリケーションでクラッシュを発生した場合、ランチャーの活動に変更しましたこの方法を定義した別のアクティビティ

<activity 
     android:name="org.telegram.ui.LaunchActivity" 
     android:configChanges="keyboard|keyboardHidden|orientation|screenSize" 
     android:hardwareAccelerated="@bool/useHardwareAcceleration" 
     android:windowSoftInputMode="adjustPan"></activity> 

どうすればこの問題を解決できますか?

+0

ペーストクラッシュスタックトレースしてください。 ) – Klawikowski

+0

そのクラッシュに依存しない、クラッシュ後、一度、ランチャーの活動は "org.telegram.ui.LaunchActivity"(私の悪い英語のために申し訳ありません)に変更@Klawikowski – Omid

+0

私の答えを確認してください:) – Klawikowski

答えて

1

Okこれまでのところ、クラッシュが発生した後に特定のアクティビティを開始したいと考えています。

第一ステップ その後、(私はあなたのアプリケーションのアーチがどのように見えるかを知らない)アプリケーションのクラスや活動でそれをのonCreate設定し、独自の例外ハンドラを実装します。

Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this)); 

第二ステップ は、例外ハンドラ内でマジックを行います。たとえば:

public class ExceptionHandler implements 
    java.lang.Thread.UncaughtExceptionHandler { 
private final Context myContext; 

public ExceptionHandler(Context context) { 
    myContext = context; 
} 

public void uncaughtException(Thread thread, Throwable exception) { 
    ... 
    Intent intent = new Intent(myContext, AnotherActivity.class); 
    //you can add intent flags like Intent.FLAG_ACTIVITY_CLEAR_TOP to clear the activity stack etc 
    myContext.startActivity(intent); 


} 

}

それはどのように動作しますか?あなたがクラッシュするたびに、あなたのハンドラはそれを捕まえて仕事をします。私はあなたが探していたことを願っています。

+0

いいえ私は私は電化製品のソースを使用しています(私はgithubで利用可能です)、私はプロジェクトランチャーの活動を変更するが、アプリケーションがクラッシュし、私はアプリを開くと、私は別の活動を参照してください(クラッシュ後に私のランチャー活動を表示しないでください) 、私はあなたのコードを使用してその活動を変更するが、働かない – Omid

関連する問題