2017-12-31 139 views
-3

Wenn ich meine App minimieren und diese Aktivität ausführen, funktioniert sie, aber wenn ich von einer anderen Aktivität zu dieser Aktivität komme, funktioniert sie nicht.Ich habe eine Aktivität in einem Projekt, aber wenn die Aktivität startet ich habe Knoten in Firebase sollte es online sein, aber es funktioniert nicht?

In meinem onCreate wie unten

auth = FirebaseAuth.getInstance(); 
     currentUser = auth.getCurrentUser(); 

     db = FirebaseDatabase.getInstance(); 
     userRef = db.getReference().child("Users").child(auth.getCurrentUser().getUid()); 

     if(currentUser == null) { 
      sendToStart(); 
     } else { 
      userRef.child("online").setValue("true"); 
     } 

ich die gleiche Sache in meiner onStart Methode zu haben, aber nicht funktioniert.
Können Sie mir bitte helfen?

Antwort

0

Sie sollten versuchen, seinen Knoten zu aktualisieren, indem Sie diese Anweisung im Hintergrunddienst ausführen.

public class MyService extends Service { 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     //TODO do something useful 

    auth = FirebaseAuth.getInstance(); 
    currentUser = auth.getCurrentUser(); 

    db = FirebaseDatabase.getInstance(); 
    userRef = db.getReference().child("Users").child(auth.getCurrentUser().getUid()); 

    if(currentUser == null) { 
     sendToStart(); 
    } else { 
     userRef.child("online").setValue("true"); 
    } 


     return Service.START_NOT_STICKY; 
    } 

    @Override 
    public IBinder onBind(Intent intent) { 
    //TODO for communication return IBinder implementation 
    return null; 
    } 
} 


Intent i= new Intent(context, MyService.class); 
context.startService(i); 
+0

, wie kann ich das tun – Hemal

+0

Check Antwort, die ich hinzugefügt haben. –

Verwandte Themen