是否可以以编程方式在java中设置IntentFilter/Intent
的保护级别,类似于我们在AndroidManifest.xml
中定义它的方式:
<receiver
android:name="my.test.receiver"
android:protectionLevel="signature" />
我们的应用程序有一个核心库,可以在运行时促进动态广播和接收器,我们希望在这里使它们安全。
我在网上找不到有关此方法的信息,也不确定是否可行。如果我们可以设置一个intentFilters permission level = PermissionInfo.PROTECTION_SIGNATURE
它会起作用,但是按照文档来看,PermissionInfo似乎只用于阅读。我能找到的唯一替代方法是声明一个特殊权限,通过我们的广播发送它并将其添加到我们的所有清单中:https://stackoverflow.com/a/15316487/1810256
我们可能会依赖这种方法,但我们更喜欢第一种方法,因为签名方法似乎更安全。
任何帮助/建议表示赞赏!
答案 0 :(得分:-1)
引用其中一位用户(Naveed Ahmad): &#34;现在从Android 6.0 Marshmellow开始,你可以要求用户在运行时动态地允许权限,我发现它,看看这个链接。我希望它能帮助你理解。&#34;
我在这里找到了它: get Android permission dynamiclly