无法在React Native的<WebView/>中访问本地媒体

4

我正在学习WebRTC和React Native,并尝试在React Native应用程序中加载WebRTC演示站点。

所以我将以下内容放入index.android.js文件:

import React, {Component} from 'react';
import {AppRegistry, StyleSheet, Text, WebView} from 'react-native';

export default class testRTC extends Component {
  render() {
    return (
      <WebView
        source={{uri:'https://appr.tc/r/<Any random room number>'}}
        />
    );
  }
}

AppRegistry.registerComponent('testRTC', () => testRTC);

但是当运行react-native run-android时,当WebView加载时,我会收到以下消息:
“无法访问本地媒体。错误名称为NotAllowedError”
我尝试将以下权限添加到AndroidManifest.xml中,但没有成功:

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

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

我正在尝试理解自己的疏漏,以便在我的 testRTC react-native 应用中加载演示应用程序。


我一直遇到同样的问题。似乎 WebView 的实现不支持在 getUserMedia() 上请求权限。 - Unapedra
相关RN问题:https://dev59.com/FKLia4cB1Zd3GeqPg0oW - Jonathan Dunlap
1个回答

1

在查阅了Android API文档后,发现WebView没有正确实现底层的getUserMedia() chrome API。

来源

由于Android API未正确实现,因此React Native API也无法正常工作。


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