2017-05-24 1 views
0

In meiner Android-Anwendung versuche ich Firebase-Dienste in einem anderen Prozess (nicht Thread) zu verwenden. Ich habe den Prozessnamen in allen von Firebase verwendeten Diensten hinzugefügt.Wie führe ich Firebase-Dienste in einem anderen Prozess aus?

<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> 

ich einen Rückruf in FirebaseInstanceIDService Methode erhalten soll: -

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

Aber ich bin keine callback.In Zusätzlich zu dieser Firebase liegt in dem Haupt-Prozess der Anwendung initialisiert zu werden, die möglicherweise verursacht dies?

Bitte helfen Sie mir Rückruf auf OnTokenRefresh Methode.

+0

Es sollte funktionieren. Drucken Sie dieses aktualisierte Token und überprüfen Sie es erneut. Und um ein Problem zu finden, zeigen Sie beide Firebase-Klassen CCTFirebaseMessagingService und FirebaseInstanceIDService –

Antwort

0

Basierend auf der this Antwort sollten Sie vermeiden, Firebase auf einen zweiten Prozess zu setzen.

BTW könnten Sie versuchen, die Firebase-Instanz manuell in dem zweiten Prozess initialisieren Dokumentation mit

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

Referenz: https://firebase.google.com/docs/reference/android/com/google/firebase/FirebaseApp#initializeApp(android.content.Context,%20com.google.firebase.FirebaseOptions)

PS: Ich habe nie versucht, dass, also kann ich nicht sicher sein, dies funktionieren wird .

+0

Dies funktionierte für mich. –

Verwandte Themen