我有以下代码行:
FingerprintManager fm = activity.getSystemService(FingerprintManager.class);
fm.isHardwareDetected();
在此点,Android Studio抱怨缺少permssionCheck(checkSelfPermission)。
调用需要用户可能拒绝的权限:代码应明确检查权限是否可用(使用
checkPermission
)或明确处理潜在的SecurityException
但是,据我了解Documentation,USE_FINGERPRINT(FingerprintManager要求)不是“危险”权限,因此在安装时被授予。如果我压制AndroidStudio警告,我的测试设备上的一切正常。 这是一个虚假的警告吗?
答案 0 :(得分:1)
您是否已将权限添加到Manifest文件中?您不需要在运行时请求权限,但您仍需要拥有清单条目。
答案 1 :(得分:0)
这显然是一个AndroidStudio错误。我添加了
//noinspection MissingPermission
压制这个警告,并没有消极的后果。
答案 2 :(得分:-1)
不评论" noinspection MissingPermission"系统地,因为它 在已经在另一个函数中管理权限时很有用 并且需要避免警告信息。
例如:
if(PermissionsUtil.shouldAskPermission(context, Manifest.permission.CALL_PHONE)){
//TODO: manage rights
//PermissionsUtil...
}else{
Intent intentCall = new Intent(Intent.ACTION_CALL);
intentCall.setData(Uri.parse("tel:" + "9876543210"));
//noinspection MissingPermission
context.startActivity(intentCall);
}