当我启动应用程序时,为什么没有这个请求权限?

时间:2017-07-23 03:01:47

标签: android permissions

if (ContextCompat.checkSelfPermission(getApplicationContext(), 
Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this, new String[]
        {Manifest.permission.CAMERA}, MY_PERMISSIONS_REQUEST_CAMERA);
    }

我只是想知道是否有人可以让我知道为什么这不会导致请求许可?当我检查我的应用设置时,它说没有必要的权限,但我不确定我做错了什么。

2 个答案:

答案 0 :(得分:0)

您还必须在 AndroidManifest.xml 文件中请求权限。从Android 6.0我们需要检查每个权限相关的任务。虽然我们必须在清单文件中声明权限,但还必须检查是否已授予权限,否则请求权限。

有两种类型的权限:正常和危险

1)正常权限:这些权限是不影响用户隐私的权限。如果应用程序在其清单中列出了正常权限,则系统会在安装时自动授予这些权限。这些权限包括访问Wi-Fi网络,访问网络状态和其他基本权限。

2)危险权限:危险权限允许应用程序请求用户的私人数据并影响系统和其他应用程序。如果清单中列出了任何危险权限,则用户必须明确授予其申请权限。这些权限包括访问相机,文件,位置等。

您需要确保您的targetSdk版本大于23(marshmallow),因为运行时权限在marshmallow以下不起作用

答案 1 :(得分:0)

只需在android部分更改build.gadle

 targetSdkVersion 25

请检查targetSdkVersion版本是否低于23.如果它低于23,那么它将不会显示权限弹出