结论:
申请动态权限时,仍需要在Manifests.xml文件下声明静态权限。
今天app功能需要调取摄像机。写了请求权限的代码如下
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA},
REQUEST_PERMISSION_CAMERA);
}
然而,启动后却不会弹出
申请权限的对话框,判断是否已经有权限,发现权限并没有打开。
百思不得其解的情况下,看了一下清单文件,发现里面没有声明这个权限。
加入
<uses-permission android:name="android.permission.CAMERA" />
后,再次运行,动态权限申请对话框可以显示了。
所以当进行动态权限申请时,不要忘了最基本的清单文件中声明权限。
Android动态权限获取问题解析
在Android应用中,请求动态权限时,即使已编写请求代码,如果没有在Manifests.xml文件中声明静态权限,也可能导致权限申请不弹出对话框且判断为无效。正确做法是在清单文件中添加相应权限声明,如此才能确保动态权限申请正常工作。
1753

被折叠的 条评论
为什么被折叠?



