2017-05-24 6 views
0

私のアンドロイドアプリケーションでは、firebaseサービスを別のプロセス(スレッドではない)で使用しようとしています。私はfirebaseによって使用されるすべてのサービスにプロセス名を追加しました。別のプロセスでfirebaseサービスを実行するには?

<service 
      android:name=".firebaseclient.CCTFirebaseMessagingService" 
      android:process=":fcmProcess"> 
      <intent-filter> 
       <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
      </intent-filter> 
     </service> 
     <service 
      android:name=".firebaseclient.FirebaseInstanceIDService" 
      android:process=":fcmProcess" 
      > 
      <intent-filter> 
       <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> 
      </intent-filter> 
     </service> 

私は戻ってFirebaseInstanceIDServiceの方法で呼び出しを受けるべきである: -

public void onTokenRefresh() { 
     // Get updated InstanceID token. 
     String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 
} 

しかし、私はこのFirebaseへのcallback.Inの追加があるかもしれないアプリケーションのメインプロセスで初期化取得され得ていないのですこれが原因ですか?

onTokenRefreshメソッドにコールバックを取得する際に助けてください。

+0

正常に動作するはずです。この更新されたトークンを印刷して、もう一度チェックしてください。そして、問題を見つけるために、あなたのfirebaseクラスCCTFirebaseMessagingServiceとFirebaseInstanceIDServiceの両方を表示してください –

答えて

0

答えがthisに基づいて、Firebaseを2番目のプロセスに置かないでください。ところで

あなたは

FirebaseApp.initializeApp(Context context, FirebaseOptions options) 
//or 
FirebaseApp.initializeApp(Context context, FirebaseOptions options, String appName) 

リファレンスマニュアルを参照して、第二の方法で手動でFirebaseインスタンスを初期化してみてください:https://firebase.google.com/docs/reference/android/com/google/firebase/FirebaseApp#initializeApp(android.content.Context,%20com.google.firebase.FirebaseOptions)

PS:私はそれを試したことがないので、私はこれが動作することを確認することはできません。

+0

これは私のために働いていました。 –

関連する問題