【问题标题】:Can't access to camera through react-native-webview无法通过 react-native-webview 访问相机
【发布时间】:2020-01-13 11:41:59
【问题描述】:

我正在使用 react-native-webview 版本 4.0.2 。所以我有一个包含一个添加按钮的 web 视图,该按钮允许我们用相机拍照,但是当点击该按钮时,什么都没有显示,也没有显示相机权限。这是在 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"/> 

请问您有什么建议吗?

【问题讨论】:

标签: android ios react-native webview


【解决方案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" />

【讨论】:

  • 我已经尝试了你的代码 ousama 但无法正常工作仍然没有相机权限
  • 你能检查一下这个link吗?我希望你能从中有所收获。
【解决方案2】:

第一步: 在 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}

【讨论】:

    【解决方案3】:

    你也需要在 webview mediaPlaybackRequiresUserAction={false} 中添加这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-29
      • 2023-03-06
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 1970-01-01
      相关资源
      最近更新 更多