標準アクションandroid.intent.action.SET_WALLPAPERのブロードキャスト送信者と受信者であるアプリケーションがあります。別のアプリケーションがこのインテントをブロードキャストした場合にのみ、いくつかのことを実行したいと思います。
BroadcastReceiverのonReceiveメソッドで誰がブロードキャストを開始したかを判断する方法はありますか?
標準アクションandroid.intent.action.SET_WALLPAPERのブロードキャスト送信者と受信者であるアプリケーションがあります。別のアプリケーションがこのインテントをブロードキャストした場合にのみ、いくつかのことを実行したいと思います。
BroadcastReceiverのonReceiveメソッドで誰がブロードキャストを開始したかを判断する方法はありますか?
アプリから送信されたかどうかだけが気になる場合は、インテントを作成するたびにインテントに追加するだけです。例えば:
broadcastIntent.putExtra('com.android.app.EXTRA_APP_CREATED', true)
そして、放送を受信したら、確認することができます
if (intent.getExtra('com.android.app.EXTRA_APP_CREATED', false) { ... }
インテントを作成したかどうかを確認します。
いいえ。
アクションが別のアプリ(つまり、自分のアプリではない)によってブロードキャストされたときにのみ何かを実行したい場合は、アプリがこのブロードキャストを送信しなかったため、他の誰かであると簡単に判断できるはずです。