Android 如何确定广播意图的发送者

Android 如何确定广播意图的发送者,android,android-intent,broadcastreceiver,broadcast,Android,Android Intent,Broadcastreceiver,Broadcast,我有一个应用程序,它同时是标准action android.intent.action.SET_墙纸的广播发送者和接收者。我只想在其他应用程序广播此意图时做一些事情 有没有办法确定是谁在广播接收器的onReceive方法中启动了广播?否 如果您只想在另一个应用程序(即不是您的应用程序)播放某个动作时执行某项操作,我想应该很容易确定您的应用程序没有发送此广播,因此它是其他人发送的。如果您关心的只是它是否由您的应用程序发送,您可以做的是在每次创建意图时添加一个额外的意图。例如: broadcastI

我有一个应用程序,它同时是标准action android.intent.action.SET_墙纸的广播发送者和接收者。我只想在其他应用程序广播此意图时做一些事情

有没有办法确定是谁在广播接收器的onReceive方法中启动了广播?


如果您只想在另一个应用程序(即不是您的应用程序)播放某个动作时执行某项操作,我想应该很容易确定您的应用程序没有发送此广播,因此它是其他人发送的。

如果您关心的只是它是否由您的应用程序发送,您可以做的是在每次创建意图时添加一个额外的意图。例如:

broadcastIntent.putExtra('com.android.app.EXTRA_APP_CREATED', true)
然后,当您收到广播时,您可以检查

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

看看你是否创造了意图。

当然,但这样我就必须在我的应用程序中的某个地方使用某种时间戳/标志-我没有明确发送广播,而是由Android在调用SetWallper时完成。