如何在Android设备上使用React Native Webview请求麦克风权限

如何在Android设备上使用React Native Webview请求麦克风权限,android,reactjs,react-native,expo,Android,Reactjs,React Native,Expo,我正在用React Native和Expo构建一个基于web的应用程序。它使用WebView显示通过麦克风录制的网站。但是,我无法找到应用程序请求麦克风访问的方法。如果我通过浏览器访问此网站,它将要求访问麦克风 我已尝试将权限添加到AndroidManifest文件 <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="andr

我正在用React Native和Expo构建一个基于web的应用程序。它使用WebView显示通过麦克风录制的网站。但是,我无法找到应用程序请求麦克风访问的方法。如果我通过浏览器访问此网站,它将要求访问麦克风

我已尝试将权限添加到AndroidManifest文件

 <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.MICROPHONE" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />


尽管如此,它仍然不请求访问麦克风,因此网站将不会加载(因为它无法检测麦克风)。我是否有其他方法访问React Native的WebView组件中的麦克风?非常感谢

请参考下面的链接

它包含一个组件,该组件只实现Android Webviews的onPermissionRequest()函数,因此要求用户在web上授予摄像头、麦克风等的权限。ReactNative的本机Webviews没有实现此功能,因此,不会向用户询问任何问题(它只是失败并以静默方式拒绝权限)


该链接中给出了示例代码

您可以使用来请求麦克风权限。我觉得这很神奇,因为我想使用react National voice,为此我不得不退出我的项目。之后,我对android清单文件完全没有做任何操作,应用程序仍然请求权限和所有内容。

如果我使用Expo运行和测试我的应用程序,这是否有效?我们也处于相同的情况,您是否找到上述场景的解决方案。