【问题标题】:Is it possible to set android permission level for a broadcast receiver at runtime?是否可以在运行时为广播接收器设置android权限级别?
【发布时间】:2017-06-09 05:06:20
【问题描述】:

是否可以在 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

我们可能会使用这种方法,但我们更喜欢第一种方法,因为签名方法似乎更安全。

感谢任何帮助/建议!

【问题讨论】:

    标签: android permissions runtime receiver android-api-levels


    【解决方案1】:

    引用其中一位用户(Naveed Ahmad)的话: “现在从 Android 6.0 Marshmellow 开始,你可以在运行时要求用户动态允许权限,我找到了,看看这个链接。希望它可以帮助你了解。”

    https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en

    我在这里找到了它: get Android permission dynamiclly

    【讨论】:

      猜你喜欢
      • 2021-07-14
      • 2016-03-24
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-24
      • 2018-01-20
      • 2018-07-09
      相关资源
      最近更新 更多