gpt4 book ai didi

android - 相机权限未自动授予

转载 作者:行者123 更新时间:2023-11-29 19:05:37 30 4
gpt4 key购买 nike

我尝试使用 Camera.open() 访问相机但它抛出异常无法连接到相机服务。

我在“设置”->“应用”->“我的应用”->“权限”->“相机”中检查了相机权限,但没有被授予。我已经在 android list 中添加了相机权限。

<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera2" android:required="true"/>

为什么不是第一次自动授予?处理此问题的最佳做法是什么?

最佳答案

首先检查用户是否授予权限:

if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA)
== PackageManager.PERMISSION_DENIED)

然后,您可以使用它向用户请求:

ActivityCompat.requestPermissions(activity, new String[] {Manifest.permission.CAMERA}, requestCode);

而在 marshmallow 及更高版本中,它会出现对话框


请求权限警报后将显示请求权限包含允许和拒绝选项。单击操作后,我们可以使用以下方法获取请求结果。

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);

if (requestCode == MY_CAMERA_REQUEST_CODE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

Toast.makeText(this, "camera permission granted", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this, "camera permission denied", Toast.LENGTH_LONG).show();
}
}
}

如果你不相信我,我已经从here中得到了答案。 .

关于android - 相机权限未自动授予,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47361317/

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