Local Broadcast Manager сохраняет дублированные данные

Я хочу узнать местоположение каждую минуту, для этого у меня есть служба мониторинга местоположения.

Я называю LocalBroadcastManager в MainActivity. В первый раз, это работает нормально, сохраняю мои данные в БД только один раз, но когда я запускаю MainActivity из другого действия, он начинает увеличивать количество сохранений, в два раза, три раза...

Я хочу предотвратить эту проблему

LocalBroadcastManager.getInstance(this).registerReceiver(
            new BroadcastReceiver() {
                @Override
                public void onReceive(Context context, Intent intent) {
                    String latitude = intent.getStringExtra(LocationMonitoringService.EXTRA_LATITUDE);
                    String longitude = intent.getStringExtra(LocationMonitoringService.EXTRA_LONGITUDE);

                    if (latitude != null && longitude != null) {

                        databaseHelper.addLocation(address,longitude,latitude,timeStr,dateStr);
                    }
                }
            }, new IntentFilter(LocationMonitoringService.ACTION_LOCATION_BROADCAST)
    );

Я могу показать полный код (это короткая версия).

0 ответов

Другие вопросы по тегам