In App A, you will be a sender. And it need declare your custom permission.
<permission
android:name="AAA.BBB.CCC"
android:label="APP_A"
android:protectionLevel="signature"
/>
In App B, you will be a receiver.
<uses-permission android:name="AAA.BBB.CCC" />
...
<receiver
android:name="my.app.BroadcastReceiver"
android:permission="AAA.BBB.CCC">
<intent-filter>
<action android:name="my.app.Action" />
</intent-filter>
</receiver>
https://stackoverflow.com/questions/8816623/how-to-use-custom-permissions-in-android/8817231#8817231
https://stackoverflow.com/questions/11770794/how-to-set-permissions-in-broadcast-sender-and-receiver-in-android
https://stackoverflow.com/questions/14450839/uses-permission-vs-permission-for-android-permissions-in-the-manifest-xml-file