Можете ли вы использовать ожидающие намерения с локальными трансляциями?
Мне интересно использовать ожидающие намерения с локальными трансляциями.
Чтобы убедиться, я использую следующее для регистрации приемников и отправки трансляции: android.support.v4.content.LocalBroadcastManager
.
У меня есть локальный широковещательный приемник в службе, которая работает. Я пытаюсь отправить локальные трансляции из пользовательского макета уведомления, которое включает элементы, доступные для кликов.
Местный широковещательный приемник - просто получает простые действия.
Я пробовал что-то подобное безрезультатно:
Intent backintent = new Intent("GOTO_START_BROADCAST");
PendingIntent backIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, backintent, 0);
RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification);
contentView.setOnClickPendingIntent(R.id.imageView1, backIntent);
Ответы
Ответ 1
Мне интересно использовать ожидающие намерения с локальными трансляциями.
Это невозможно.
Точка, стоящая за PendingIntent
, должна позволить другому процессу выполнить выполняемое вами действие, например, передачу широковещательной передачи.
Точка, стоящая за LocalBroadcastManager
, должна поддерживать трансляцию внутри вашего процесса.
Следовательно, a PendingIntent
может выдавать обычную трансляцию, но не через LocalBroadcastManager
.