我在React Native中的Webview中放置了一个网站,该网站有使用摄像头和音频的权限,但问题是,在移动应用程序中未显示权限提示,我也尝试启用应用程序的所有权限,但仍然无法录制音频/视频。这个问题的解决方案是什么?
我在React Native中的Webview中放置了一个网站,该网站有使用摄像头和音频的权限,但问题是,在移动应用程序中未显示权限提示,我也尝试启用应用程序的所有权限,但仍然无法录制音频/视频。这个问题的解决方案是什么?
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` 的对象。此方法可用于检查和请求权限。您需要使用React-native的PermissionsAndroid
来请求权限。
以下是请求权限的代码:
async checkPermissions() {
await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.CAMERA,
]).then(result => {
console.log('checkPermissions result', result);
});
}