【问题标题】:Access Firebase Database from a background service in android从android中的后台服务访问Firebase数据库
【发布时间】:2017-04-05 13:14:32
【问题描述】:
我在一个活动中创建了一个 FirebaseDatabase 实例,然后使用它进行引用,现在我想从后台服务访问数据库。
活动中
private FirebaseDatabase mFirebaseDatabase;
private DatabaseReference mDatabaseReference;
.....
mFirebaseDatabase = FirebaseDatabase.getInstance();
mDatabaseReference=mFirebaseDatabase.getReference();`
在意图服务中以类似的方式
我想从后台服务以及活动写入数据库
还有。所以我哪里出错了。
请帮忙。这可能是一个愚蠢的问题,但我被卡住了,在解决之前无法继续。
【问题讨论】:
标签:
firebase
firebase-realtime-database
firebase-authentication
【解决方案1】:
您可以在您的服务的onStartCommand 处启动ChildEventListener 并实施您在那里执行的操作,它会像在前台一样工作。
您将数据发送到服务:
Intent serviceIntent = new Intent(this, Myservice.class);
serviceIntent.putExtra("extra", data);
this.startService(serviceIntent);
并在服务端接收数据:
public int onStartCommand(Intent intent, int flags, int startId) {
// read extra from activity
String data = intent.getStringExtra("extra");
// your firebase code here
return super.onStartCommand(intent, flags, startId);
}