当前位置 博文首页 > 庆述倾述:Android运行时权限

    庆述倾述:Android运行时权限

    作者:[db:作者] 时间:2021-08-05 12:48

    Android 6.0(API 级别 23)之后,Android开发团队加入了运行时权限功能。也就是说用户在安装这个软件的时候不需要一次性授权所有申请的权限,而是在使用过程中动态授权。

    当然,不是所有的权限都需要在运行时动态申请,因为这样对用户来讲不友好。故而将权限分为了两大类,分别是普通权限、危险权限。

    对于普通权限,系统会自动帮我们进行授权,对于危险权限,则需要用户手动授权。危险权限一般指可能会触及用户隐私或者对设备的安全性造成影响的权限。

    Android中存在上百种权限,但除了危险权限外,剩下的大多数都是普通权限。

    每次当处理权限的时候,可以先看是否是危险权限,如果是就需要在代码中进行运行时权限处理;否则就直接在AndroidManifest.xml文件中添加权限申明即可。比如:

    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    

    危险权限列表:
    在这里插入图片描述
    上图来源:Android 中的危险权限
    案例,打电话:

    <uses-permission android:name="android.permission.CALL_PHONE"/>
    

    Java代码中需要动态申请权限:

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //权限检查
            if (ContextCompat.checkSelfPermission(TestActivity.this,
                    Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                //申请权限
                ActivityCompat.requestPermissions(TestActivity.this,
                        new String[]{Manifest.permission.CALL_PHONE}, 1);
            }
            Intent intent = new Intent(Intent.ACTION_CALL);
            intent.setData(Uri.parse("tel:10086")); // smsto:10086
            startActivity(intent);
        }
    });
    

    Thanks

    • Android 中的危险权限
    cs
    下一篇:没有了