Android 我在项目中有一个活动,但当活动开始时,我在firebase中有一个节点,它应该是在线的,但它不工作?
如果我最小化我的应用程序并运行该活动,它会工作,但当我从另一个活动开始执行该活动时,它不会工作 在我的onCreate中,如下所示Android 我在项目中有一个活动,但当活动开始时,我在firebase中有一个节点,它应该是在线的,但它不工作?,android,firebase-realtime-database,Android,Firebase Realtime Database,如果我最小化我的应用程序并运行该活动,它会工作,但当我从另一个活动开始执行该活动时,它不会工作 在我的onCreate中,如下所示 auth = FirebaseAuth.getInstance(); currentUser = auth.getCurrentUser(); db = FirebaseDatabase.getInstance(); userRef = db.getReference().child("Users").child(a
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");
}
我的onStart方法中也有同样的东西,但不起作用。您能帮助我吗?您应该尝试在后台服务中执行此语句来更新其节点
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);
我该怎么做检查我添加的答案。