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)
);
Я могу показать полный код (это короткая версия).