0
私は受信機を介してお互いに話す2つのアプリケーションがあります。アプリケーションAでボタンが押されると、特定の許可を得てIntentをブロードキャストします。アプリケーションBは次に起動していくつかの計算を行い、アプリケーションAの特定のアクセス権を持つインテントを再度ブロードキャストします。両方のマニフェストでパーミッション(同じ名前)を定義し、両方のレシーバも登録します。受信機のライフサイクル
<permission android:name="aa.bb.cc.dd"
android:label="permission"
android:protectionLevel="normal"></permission>
<receiver android:name=".receiver"
android:exported="true">
<uses-permission android:name="aa.bb.cc.dd"/>
<intent-filter>
<action android:name= "a_certain_action"/>/>
</intent-filter>
</receiver>
とそれらを呼び出す:
Intent i = new Intent();
i.setAction("a_certain_action");
sendBroadcast(i,"aa.bb.cc.dd");
しかし、これは今日、昨日、完璧な仕事をしながら、私は意図をブロードキャストすると、アプリケーションBの受信機が目を覚ますことはありません。何故ですか?
受信機は、アプリケーションが動作する必要がありますか? – Libathos
はい、「アプリケーション」を実行する必要があります。しかし、活動全体ではなく、あなたの事例でのサービス –
私のマニフェストに受信機を登録しても、常にイベントを聞いているわけではありませんか? – Libathos