我做到了:
private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
currentLatitude = Double.valueOf(intent.getStringExtra("latitude"));
currentLongitude = Double.valueOf(intent.getStringExtra("longitude"));
if(!java.util.Objects.equals(m_Text, "")) {//if ph number not blank
User user = new User();
user.setLatitude(currentLatitude);
user.setLongitude(currentLongitude);
// user.setPhone(m_Text);
mFirebaseInstance.getReference(m_Text).setValue(user);
}
}
};
正在按预期更新坐标,无论应用程序是否在前台,但是当应用程序最小化时,mFirebaseInstance.getReference(m_Text).setValue(user);
未发布到firebase,否则正常工作。关于如何实现它的任何解决方案?
答案 0 :(得分:0)
我在一段时间后发现root问题,应用程序需要设备上的后台数据权限才能将数据发布到firebase数据库,通过Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS意图启用它/添加权限,它运行正常!