React Native WebView 权限

6

我在React Native中的Webview中放置了一个网站,该网站有使用摄像头和音频的权限,但问题是,在移动应用程序中未显示权限提示,我也尝试启用应用程序的所有权限,但仍然无法录制音频/视频。这个问题的解决方案是什么?


请检查您的权限是否设置为此页面https://reactnative.dev/docs/permissionsandroid中所述。 - Franute
我也尝试启用应用程序的所有权限,你是如何尝试做到这一点的? - ryanwebjackson
2个回答

1
如果您正在使用Expo,请先安装以下内容:
expo install expo-camera

然后,在您的WebView中:

import { Camera } from "expo-camera";

export default function MyWebView({ route }) {
  Camera.requestCameraPermissionsAsync();
  ... your webViewCode ... 
}

来源:https://docs.expo.dev/versions/latest/sdk/camera/#camerarequestcamerapermissionsasync

`Camera.requestCameraPermissionsAsync()`方法可以请求访问设备相机的权限,如果用户允许,则返回一个`status`属性为`granted`的对象;如果用户拒绝,则返回一个`status`属性为`denied`的对象。如果用户选择“不再询问”,则返回一个`status`属性为`undetermined` 的对象。此方法可用于检查和请求权限。

1

您需要使用React-native的PermissionsAndroid来请求权限。

以下是请求权限的代码:

async checkPermissions() {    
 await PermissionsAndroid.requestMultiple([
  PermissionsAndroid.PERMISSIONS.CAMERA,
 ]).then(result => {
  console.log('checkPermissions result', result);        
 });
}

在数组中提供所需的任何权限,并在结果中检查其状态。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接