0

私のアプリにはNotificationListenerServiceの実装があります。Application.onCreateコードの前にNotificationListenerServiceが呼び出されました

が実行されると、私のApplicationクラスで初期化されているものが初期化されていないようです。 また、Crashlyticsにクラッシュが発生するのではなく、Google Playになるため、crashlyticsの初期化も行われていないと想定しています。

  • NotificationListenerServiceのサービスクラスは、アプリケーションの処理中に呼び出されていませんか?
  • Applicationコンテキスト外で呼び出されていますか?私のコードの

簡体実装:

public class MyApplication extends Application { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     Settings.init(this); 
    } 
} 

public class MyNotificationService extends NotificationListenerService { 
    @Override 
    public void onCreate() { 
     super.onCreate(); 
     new AsyncTask<Void, Void, Void>() { 
      @Override 
      protected Void doInBackground(Void... params) { 
       if (Settings.getSomething()) { // Crash! settings not initialized 
        ... 
       } 
      } 
     }.execute(); 
    } 
} 
+0

'単純な' Log.d'は( 'onCreate'メソッドの両方で)何を言いますか? – pskink

+0

うん...これは間違っているようだが、ほとんどすべてのクラッシュが「Vivo 1601」デバイスから来ているので、デバイスエラーだと思う。アンドロイド/アプリの問題ではない。 – marmor

+0

私はここに質問を残しておきます。他の用途もこのクラッシュにつまずく場合があります – marmor

答えて

1

グーグルで報告されたクラッシュの95%は、in vivo 1601と呼ばれるデバイスから来る再生〜と思われるので、これは最も可能性のAndroidの悪い実装ですデバイス、またはルートデバイスが繰り返しクラッシュする可能性があります。

これはCrashlyticsではないため、このクラッシュを報告したユニークユーザーの数はわかりませんが、Androidや自分のアプリでは問題にはならないと言っても過言ではありません。

関連する問題