如果这是要求安全性,您可以使用sendBroadcast(intent, receiverPermission)
并且不要使用隐式 Intent。
使用显式意图,这样只有一个应用程序可以监听您广播的数据。喜欢
Intent intent = new Intent();
intent.setAction("my.app.intent.MyMessageHere");
intent.setComponent(new ComponentName("packagename of receiver app","receiverclassname.java"));
并发送为sendBroadcast(intent)
.
如果您想要更高的安全性,您可以引入自定义权限。然后你需要对这两个应用程序的许可,这将确保你的通信更加安全。
如何添加自定义权限
<permission android:name="com.testpackage.mypermission" android:label="my_permission" android:protectionLevel="signature"/>
<uses-permission android:name="com.testpackage.mypermission" />
将上述代码添加到两个应用程序清单中。阅读更多关于android:protectionLevel="signature"的信息。
所以你必须用相同的证书签署你的两个应用程序。因此,如果另一个具有相同权限的应用程序在您的证书签名之前无法收听您的广播。
现在您必须android:permission="com.testpackage.mypermission"
在接收器应用程序的清单中添加接收器。而已。