Я искал SO и даже нашел вопрос с более или менее тем же названием, что и мой вопрос. Но мой код все еще не работает.
Я пытаюсь отправить позицию из моей службы GPS в MainActivity с использованием широковещательной передачи.
В моем сервисе GPS я делаю
Intent intent = new Intent(MainActivity.EXTRA_NEW_POS_FOR_PLOTTING_INTENT);
intent.putExtra(MainActivity.EXTRA_NEW_POS_FOR_PLOTTING, new LatLng(location.getLatitude(), location.getLongitude()));
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
На принимающей стороне в MainActivity.onCreate () я делаю:
mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
LatLng pos = intent.getExtras().getParcelable(EXTRA_NEW_POS_FOR_PLOTTING);
newLocForPlotting(pos);
}
};
А в MainActivity.onStart () у меня есть:
LocalBroadcastManager.getInstance(this).registerReceiver(mBroadcastReceiver, new IntentFilter(EXTRA_NEW_POS_FOR_PLOTTING_INTENT ));
Я знаю, что мой сервис вызывает sendBroadcast (), но мой onReceive () никогда не вызывается.
Что не так?