【发布时间】:2011-04-14 22:17:57
【问题描述】:
我有一个应用程序,它同时是标准操作 android.intent.action.SET_WALLPAPER 的广播发送方和接收方。我只想在另一个应用程序广播此意图时做一些事情。
有没有办法在 BroadcastReceiver 的 onReceive 方法中确定是谁发起了广播?
【问题讨论】:
标签: android android-intent broadcastreceiver broadcast
我有一个应用程序,它同时是标准操作 android.intent.action.SET_WALLPAPER 的广播发送方和接收方。我只想在另一个应用程序广播此意图时做一些事情。
有没有办法在 BroadcastReceiver 的 onReceive 方法中确定是谁发起了广播?
【问题讨论】:
标签: android android-intent broadcastreceiver broadcast
没有。
如果您只想在另一个应用程序(即不是您的应用程序)广播某个动作时做某事,我想应该很容易确定您的应用程序没有发送此广播,并且所以是别人..
【讨论】:
如果您只关心它是否由您的应用发送,您可以做的是在每次创建 Intent 时添加一个额外的内容。例如:
broadcastIntent.putExtra('com.android.app.EXTRA_APP_CREATED', true)
然后,当你收到广播时,你可以检查
if (intent.getExtra('com.android.app.EXTRA_APP_CREATED', false) { ... }
查看您是否创建了意图。
【讨论】: