无法通过react-native-webview访问摄像头

时间:2019-09-11 15:29:34

标签: android ios react-native webview

我正在使用react-native-webview版本4.0.2。所以我有一个包含添加按钮的webview,该按钮允许我们用相机拍照,但是当单击该按钮时,没有显示任何内容,也没有显示相机的权限:这是在android端,但在ios上运行得很好(我可以看到权限并使用相机)。 在我的AndroidManifest.xml中,我确实有:

   <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" 
      android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" 
     android:required="false"/> 

所以请问您有什么建议吗?

3 个答案:

答案 0 :(得分:1)

尝试使用: <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="__APILEVEL__" />

`<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="18" />`
`<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />`
 `<uses-permission android:name="android.permission.INTERNET" />`

<uses-permission android:name="android.permission.CAMERA" />     <uses-permission android:name="android.permission.RECORD_AUDIO" android:maxSdkVersion="18" />     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" android:maxSdkVersion="18" />

答案 1 :(得分:0)

您还需要在webview mediaPlaybackRequiresUserAction = {false}

中添加此内容

答案 2 :(得分:0)

第一步: 在AndroidManifest.xml文件中使用它

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

第二步: 在App.js文件中授予多个权限

const granted = await PermissionsAndroid.requestMultiple([
  PermissionsAndroid.PERMISSIONS.CAMERA,
  PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
  PermissionsAndroid.PERMISSIONS.ACCESS_COARSE_LOCATION,
]);

第三步: 在webview中使用这些属性

geolocationEnabled={true}
mediaPlaybackRequiresUserAction={false}
javaScriptEnabled={true}