需要获得Android网页视图中访问摄像头的权限吗?

前端之家收集整理的这篇文章主要介绍了需要获得Android网页视图中访问摄像头的权限吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在 android studio的Webview的帮助下开发一个Web应用程序,但有一些问题我需要访问打开相机我该怎么做才能在 AndroidManifest.xml中给出以下权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我应该怎么做才能打开相机?

解决方法

如果您的应用针对Android 6.0及以上版本而不是添加运行时权限

从Android 6.0(API级别23)开始,用户在应用程序运行时向应用程序授予权限,而不是在安装应用程序时

使用以下代码为相机添加运行时权限

String permission = Manifest.permission.CAMERA;
int grant = ContextCompat.checkSelfPermission(this,permission);
if (grant != PackageManager.PERMISSION_GRANTED) {
    String[] permission_list = new String[1];
    permission_list[0] = permission;
    ActivityCompat.requestPermissions(this,permission_list,1);
}

并处理这样的结果

@Override
public void onRequestPermissionsResult(int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode,permissions,grantResults);
    if (requestCode == 1) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            Toast.makeText(AccountClass.this,"permission granted",Toast.LENGTH_SHORT).show();  
             // perform your action here

        } else {
            Toast.makeText(AccountClass.this,"permission not granted",Toast.LENGTH_SHORT).show();
        }
    }

}

阅读约runtime permission

猜你在找的Android相关文章