gpt4 book ai didi

android - 相机权限不适用于 Marshmallow 及以上设备并崩溃

转载 作者:行者123 更新时间:2023-11-29 14:44:45 24 4
gpt4 key购买 nike

由于我制作了一个手电筒应用程序,它可以在具有 SDK 22 及以下版本的设备上正常工作。但是当我检查 marshmallow 及以上设备时,它不会运行并在开始时崩溃,只是我使用以下代码请求许可但它似乎根本不起作用。这是我在运行时请求相机许可的代码。这是我的代码:

if( ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{android.Manifest.permission.CAMERA},
5);
}
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 5) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Now user should be able to use camera
}
else {
// Your app will not have this permission. Turn off all functions
// if permission not granted it will force close the app

}
}

我已经在 marshmallow、nougat 设备上尝试过,但它不要求相机许可,我必须通过 setting-app-flashlight-permission-allow 手动完成。谁能帮帮我。目前我正在 Lineage os 7.1.1

中测试我的应用

最佳答案

需要在manifest中添加SDK 23权限。在 list 中添加以下行,然后您将获得运行时权限回调。

<uses-permission-sdk-23 android:name="android.permission.CAMERA"/>

关于android - 相机权限不适用于 Marshmallow 及以上设备并崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43451168/

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