【问题标题】:How to enforce the custom permission on an Activity in Android?如何对 Android 中的 Activity 强制执行自定义权限?
【发布时间】:2014-03-08 17:52:36
【问题描述】:

我在android中创建了一个自定义权限:

<permission
    android:name="com.master.me.CUSTOM_PERMISSION_TEST"
    android:description="@string/des_permission"
    android:label="labelhere">
</permission>

我将如何在 AndroidManifest.xml 文件中的 Activity 中强制执行此操作?

【问题讨论】:

标签: java android android-activity permissions


【解决方案1】:

在活动标签中使用android:permission 属性。

如下图

<activity android:permission="com.master.me.CUSTOM_PERMISSION_TEST"
            android:name=".YourActivity"
            android:label="@string/activity_label" />

当您的其他应用程序需要启动此活动时,您需要将uses-permission 添加到您的自定义权限中。

<uses-permission android:name="com.master.me.CUSTOM_PERMISSION_TEST"/>

An In-Depth Introduction to the Android Permission Model 是一篇很好的了解Android中权限的文章。而How to use custom permissions in Android? 也是一个非常好的 SO 线程。

【讨论】:

  • @PankajKumar:只是有一个简单的疑问:在活动中使用 CUSTOM_PERMISSION_TEST 是否意味着任何其他没有此权限(CUSTOM_PERMISSION_TEST)的应用程序将无法启动此活动?
  • @Zax 是的,你是完美的。
  • @Zax 我还想补充一件事。如果您在定义自定义权限时添加 protectionLevel="signature",那么即使另一个应用程序声明您的权限,也无法访问该 Activity,直到它由相同的证书签名。阅读更多developer.android.com/guide/topics/manifest/…
猜你喜欢
  • 2011-08-09
  • 1970-01-01
  • 1970-01-01
  • 2015-06-25
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多