如何对 Android 中的 Activity 强制执行自定义权限?
Posted
技术标签:
【中文标题】如何对 Android 中的 Activity 强制执行自定义权限?【英文标题】:How to enforce the custom permission on an Activity in Android? 【发布时间】: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 中强制执行此操作?
【问题讨论】:
How to use custom permissions in Android? 的可能重复项 我们必须在哪里对活动强制执行自定义权限? 【参考方案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/…以上是关于如何对 Android 中的 Activity 强制执行自定义权限?的主要内容,如果未能解决你的问题,请参考以下文章
android开发 如何从一个activity中的两个按钮分别跳转到另外两个activity?
[Android]_[中级]_[如何对服务和Activity进行单元测试]