Можете ли вы использовать ожидающие намерения с локальными трансляциями? - программирование
Подтвердить что ты не робот

Можете ли вы использовать ожидающие намерения с локальными трансляциями?

Мне интересно использовать ожидающие намерения с локальными трансляциями. Чтобы убедиться, я использую следующее для регистрации приемников и отправки трансляции: 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);
4b9b3361

Ответ 1

Мне интересно использовать ожидающие намерения с локальными трансляциями.

Это невозможно.

Точка, стоящая за PendingIntent, должна позволить другому процессу выполнить выполняемое вами действие, например, передачу широковещательной передачи.

Точка, стоящая за LocalBroadcastManager, должна поддерживать трансляцию внутри вашего процесса.

Следовательно, a PendingIntent может выдавать обычную трансляцию, но не через LocalBroadcastManager.