Android 应用程序最小化时Firebase数据库更新不工作

Android 应用程序最小化时Firebase数据库更新不工作,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我已经这样做了: private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { currentLatitude = Double.valueOf(intent.getStringExtra("latitude"));

我已经这样做了:

 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(用户)当应用程序最小化时未发布到firebase,否则会正常工作。有什么解决方案吗?

过了一段时间,我发现了根本问题,应用程序需要设备上的后台数据权限才能将数据发布到firebase数据库,启用了它/通过设置添加了权限。操作\u忽略\u后台\u数据限制\u设置意图,它可以正常工作

可能是因为打瞌睡或打瞌睡引起的。当您观察到此行为时,设备是否已插入?屏幕开着吗?设备的API级别是多少?无论设备(API 24和23均在真实设备上测试)是否插入,应用程序是否处于前台/活动状态,或者是否处于部分休眠状态。根据断点观察,接收器定期接收更新的变量,但是firebase方法的更新只有在应用程序位于前台时才起作用……是否有任何解决方法??因为这里没有专家建议的解决方案,或者他们可能看不到或忽略了它,我想问一下,如果可以的话,我是否可以将整个firebase初始化和方法调用放到后台服务。任何关于此的帮助或示例也将不胜感激。看起来此BroadcastReceiver是在活动中定义的。您在哪些活动生命周期方法中注册/注销接收器?在onstart registerReceiver(broadcastReceiver,new IntentFilter(行踪.str_receiver))中动态注册;顺便说一句,当我100%正确接收广播时,这与我的问题有什么关系?