App1 と App2 の 2 つのアプリがあります。
App1 では、マニフェスト ファイルに BroadcastReceiverIncoming が次のように定義されています。
<receiver android:name="packagename.BroadcastReceiverIncoming"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="packagename.BroadcastReceiverIncoming" />
</intent-filter>
</receiver>
BroadcastReceiverIncoming は App1 で定義されています。
App2 では、これを呼び出してブロードキャスト レシーバーを呼び出していますが、何とか機能していますか?
Intent intent = new Intent();
intent.setClassName("packageName", "packagename.BroadcastReceiverIncoming");
intent.setAction("packagename.BroadcastReceiverIncoming");
appContext.sendBroadcast(intent);
2 行目をコメント化/コメント化解除しても、BroadcastReceiverIncoming は呼び出されません。
BroadcastReceiverIncomingを呼び出すと、adbを介しadb shell am broadcast -n packageName/packagename.BroadcastReceiverIncoming
てApp1で正しく呼び出されます。