如何确定Broadcast Intent的发送者

时间:2010-09-20 22:08:51

标签: android android-intent broadcastreceiver broadcast

我有一个应用程序同时是标准操作android.intent.action.SET_WALLPAPER的广播发送者和接收者。我只想在另一个应用程序广播此意图的情况下做一些事情。

有没有办法确定谁在BroadcastReceiver的onReceive方法中发起广播?

2 个答案:

答案 0 :(得分:5)

如果你关心的只是它是否是你的应用程序发送的,你可以做的就是每次创建一个额外的Intent。例如:

broadcastIntent.putExtra('com.android.app.EXTRA_APP_CREATED', true)

然后,当您收到广播时,您可以检查

if (intent.getExtra('com.android.app.EXTRA_APP_CREATED', false) { ... }

查看您是否创建了意图。

答案 1 :(得分:4)

没有

如果您只想在其他应用(即不是您的应用)广播某个动作时执行某些操作,我认为应该很容易确定您的应用没有发送此广播,并且因此,这是其他人..