请求APP权限

本文详细介绍了在Android中如何管理权限,包括在Manifest中声明权限、检查权限、请求权限的步骤,以及如何处理权限请求回调。重点讲述了Android 6.0及以上版本中运行时权限的管理策略,强调了向用户解释权限需求的重要性,确保良好的用户体验。
摘要由CSDN通过智能技术生成

每个APP都运行在独自的进程中,如果APP需要访问其进程以外的资源或信息,那么它就需要请求对应的权限。APP需要在Manifest文件中列出要请求的权限,并在运行时请求用户授予权限(在Android 6.0及以上的版本中)。本文将讲解怎样用Android Support Library来检查和请求权限。Android 6.0 (API level 23)及以上的Android Framework也支持类似的功能,但是使用support library 可以适配更早的Android版本。

在Manifest中申明权限

在所有Android版本上,在APP的Manifest文件中用元素来什么APP需要的权限。例如,一个APP需要发送SMS消息,那么就需要在Manifest文件中做如下申明:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.snazzyapp">

    <uses-permission android:name="android.permission.SEND_SMS"/>
    <!-- other permissions go here -->

    <application ...>
        ...
    </application>
</manifest>

系统根据所申明权限的等级有不同的表现:对于一般权限,系统会在APP安装时就自动授予给APP;对应危险权限,必须要请求用户显式的授予给APP。关于权限等级的信息,请见Android权限概述中的“权限等级

检查权限

从Android 6.0 (API level 23)开始,用户可以在任何时候取消某个APP的某个权限,即使APP的target小于Android 6.0 (API level 23)。例如:即使一个APP昨天还有使用Camera的权限,但是今天用户手动取消了这个权限,那么下次使用APP时就没有这个权限了。所以,如果APP需要一个危险权限,那么APP每次执行需要这个权限的操作时都应该检查APP是否有这个权限。

使用ContextCompat.checkSelfPermission()方法来检查APP是否有某个权限。如下的例子为如何检查a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值