将有序广播发送到特定接收方?

时间:2011-12-01 19:14:03

标签: java android broadcastreceiver android-intent intentfilter

如何将orderedBroadcast发送到特定接收器?我正在广播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 个答案:

答案 0 :(得分:2)

如果您知道Winamp应用程序的包,则可以使用setPackage将Intent解析限制为仅限特定包。