gpt4 book ai didi

android - CheckSelfPermission 始终返回 PERMISSION_GRANTED 即使针对 SDK 23

转载 作者:行者123 更新时间:2023-11-30 01:27:34 25 4
gpt4 key购买 nike

我正在尝试实现指纹扫描仪,我首先检查权限,以便获得用户权限。

我有以下代码:

int permissionState = ContextCompat.checkSelfPermission(SecurityPicker.this, Manifest.permission.USE_FINGERPRINT);
Log.d("SecrityPicker", String.valueOf(Build.VERSION.SDK_INT));
if (ContextCompat.checkSelfPermission(SecurityPicker.this, Manifest.permission.USE_FINGERPRINT)
== PackageManager.PERMISSION_DENIED)
{
ActivityCompat.requestPermissions(SecurityPicker.this, new String[]{Manifest.permission.USE_FINGERPRINT},
MY_PERMISSION_USE_FINGERPRINT);
}
else
{
fingerPrintContainer.setVisibility(View.VISIBLE);
}

checkSelfPermission 总是返回授予的权限,即使我没有。我正在使用 API 23 (Marshmallow) 的 Android 模拟器。

下面是我的gradle文件

android {
compileSdkVersion 23
buildToolsVersion "24.0.0-rc1"

packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}

defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 33
versionName "2.0.1.0"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
debuggable false
}
}

repositories {
mavenLocal()
}
}

最佳答案

您只需检查保护级别为危险的权限的运行时权限。

Manifest.permission.USE_FINGERPRINT 的保护级别为 Normal,如 here 所示.因此不需要在运行时获得该许可。

对于Normal 级别的权限,只需在 list 中指定即可。这就是您始终获得许可结果的原因。

参见 this有关哪些权限是危险的更多详细信息。

关于android - CheckSelfPermission 始终返回 PERMISSION_GRANTED 即使针对 SDK 23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com