Отправка заказанной трансляции на конкретный получатель? - PullRequest
1 голос
/ 01 декабря 2011

Как я могу отправить заказанное вещание конкретному получателю? Я транслирую ACTION_MEDIA_BUTTON и хочу, чтобы его получало только определенное приложение (например, Winamp). Я не хочу, чтобы Пандора украл это. Есть ли способ явно определить, кто будет получателем?

void sendBroadcast() {

        Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);
        synchronized (this) {
            i.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, theKeyEvent));
            ctx.sendOrderedBroadcast(i, null);

            i.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_UP, theKeyEvent));
            ctx.sendOrderedBroadcast(i, null);
        }
    }

1 Ответ

2 голосов
/ 01 декабря 2011

Если вам известен пакет приложения Winamp, вы можете использовать setPackage , чтобы ограничить разрешение намерений только определенным пакетом.

...