У меня такая проблема - «моя трансляция» не получает никакой информации. Что я делаю неправильно?Android Broadcast не работает
Пример кода
Моя деятельность с регистрацией Broadcast:
Основная деятельность
DriverCheckBroadcast broadcast = new DriverCheckBroadcast(this);
IntentFilter intFilt = new IntentFilter("MY_BROADCAST_CHECK");
// регистрируем (включаем) BroadcastReceiver
registerReceiver(broadcast, intFilt);
startService(new Intent(this, DriverCheckService.class));
Methode, которые ставят посылки Broadcast
@Override
public void onResponse(Response<Example> response, Retrofit retrofit) {
Example result = response.body();
LatLng driverlatlang = new LatLng(result.getGpsLatitude(),result.getGpsLongitude());
intent.putExtra("address",customizeText(result.getAddress()));
intent.putExtra("latlng",driverlatlang);
intent.putExtra("model",result.getModel().getName());
intent.putExtra("brand",result.getModel().getIdBrand());
status = result.getStatusName();
service.sendBroadcast(intent);
}
Methode, которые получают посылки в Broadcast
@Override
public void onReceive(Context context, Intent intent) {
activity.driverlatlang = intent.getParcelableExtra("latlang");
activity.model.setText((CharSequence) intent.getParcelableExtra("model"));
activity.brand.setText((CharSequence) intent.getParcelableExtra("brand"));
activity.address.setText((CharSequence) intent.getParcelableExtra("address"));
}
как вы создаете 'Intent' вы используете в' sendBroadcast '? – pskink
вы используете неправильную пару Bundle.put/Bundle.get ... спросили bazillion раз ... если вы поместите String с putExtra, тогда вы должны использовать getStringExtra – Selvin
проверить мой ответ .. Я делаю так. Http:// /stackoverflow.com/a/34740462/3713967 –