场景介绍:
Android app中的webview加载含摄像头相关逻辑的H5页面,进行赋权的操作
H5页面调取摄像头识别二维码逻辑:
vue编写
{{ trackStatus ? '关闭闪光灯' : '打开闪光灯' }}
问题:在app端访问时,扫描摄像头直接出不来显示无权限。
Android部分:
一:AndroidManifest.xml部分
新增相关权限
一:webview部分
1,首先在webview 的 initview 方法中添加如下方法
XXPermissions.with(this) .permission(Permission.READ_EXTERNAL_STORAGE, Permission.WRITE_EXTERNAL_STORAGE, Permission.CAMERA) .request(new PermissionCallback() { @Override public void onGranted(Listpermissions, boolean all) { } @Override public void onDenied(List permissions, boolean never) { super.onDenied(permissions, never); } });
2,需要在 BrowserChromeClient 方法中添加如下方法
@RequiresApi(Build.VERSION_CODES.LOLLIPOP) @Override public void onPermissionRequest(android.webkit.PermissionRequest request) { System.out.println("onPermissionRequest"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { request.grant(request.getResources()); } }
还没有评论,来说两句吧...