2015-02-11 67 views
2

我试图以embed the Crosswalk runtime作为WebView替换为具有其他Java代码的应用程序(即不是作为Web应用程序的简单包装)。Android上的嵌入式Crosswalk运行时权限

现在,他们official documentation说,你需要以下权限在任何情况下

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<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" /> 

这是很多!

所以我尝试用较少的权限。我发现的是,以下权限在任何情况下都真的需要

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 

这是正常的。因此,如果这足够了,这将比文档中列出的列表显着改善。

但也许其他人在某些情况下也是必需的。有人可以澄清吗?在什么情况下需要其他权限?只有当某个动作通过JavaScript被触发时?那么人们可能会在没有这些的情况下使用Crosswalk,可能吧?

回答

1

虽然您对官方文档的说明是正确的,但在人行横道网站上也存在一些冲突信息。

具体地,该链路埋在科尔多瓦迁移部:

Migrate using command line tools

表明:

人行横道需要几个未由科尔多瓦应用程序生成器插入额外的权限。

,具体列举:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

的一点是,科尔多瓦只会增加

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

,因此必须推导出唯一真正需要的权限是:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 

正如你正确的结论。

我的猜测是Crosswalk团队添加了webview支持的所有功能/扩展(包括访问WebRTC会话的相机)共同需要的所有权限的联合。

在这方面,该列表是适当的(与其他独立浏览器运行的非常相似),并可能提供这些列表以简化解释。

顺便说一句,我已经做了一个测试,并从清单中删除了“CAMERA”权限,并且webview处理了缺席(它没有使应用程序崩溃,相机刚停止工作并给出了黑色图片),这似乎指出,即使使用有限的权限设置,您也可以处理web视图给您的用户以进行通用浏览(但请不要在此提及我的话:我只是试过相机!)

希望这会有所帮助

+0

相机和麦克风接受的xwalk_permissions列表是什么? – YumYumYum 2017-03-01 04:26:18