我正尝试在GeckoView元素中使用网站的录音功能。因此,我在AndroidManifest.xml中设置了权限:
<uses-permission android:name="android.permission.RECORD_AUDIO" />当我现在尝试在网站上录制音频时,一个超文本标记语言PopUp (它是网站的一部分,而不是浏览器的一个功能)告诉我,我需要给予许可。我什么也做不了--它只是一个没有按钮的便条。
另一方面:当我使用常规的火狐浏览器时,浏览器会问我是否想在显示这个超文本标记语言的PopUp时允许我的麦克风访问这个网站。
我没有被GeckoView问到这一点,因此我需要找到一种方法来授权在GeckoView中使用这个网站的麦克风。我需要在GeckoView中授予权限吗?我查阅了有关GeckoView权限的文档,但无法使其正常工作(可能是因为我的基本编码知识)。
非常感谢您的帮助!
非常感谢!
发布于 2019-08-20 17:33:47
GeckoView本身不显示任何权限对话框。但是,它为它提供了一个您可以自己实现的委托:GeckoSession.setPromptDelegate()。
你基本上需要做两件事:
如果需要,
GeckoSession.PermissionDelegate.onContentPermissionRequest()来实现来自网站的内容权限请求,从而从安卓系统请求权限-这归根结底是在提供的callback对象上调用grant()或reject()。如果您不想要自定义实现,Mozilla's Android Components项目在GeckoView之上提供了此功能和许多其他“浏览器功能”的实现。像"Firefox Preview“这样的浏览器使用这个项目中的实现。
https://stackoverflow.com/questions/56709874
复制相似问题