Android上嵌入式Crosswalk运行时的权限

时间:2015-02-11 14:22:33

标签: android crosswalk-runtime

我正在尝试embed the Crosswalk runtime作为WebView替换其他Java代码的应用程序(即不是Web应用程序的简单包装器)。

现在他们的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 个答案:

答案 0 :(得分:2)

虽然你对官方文件的说法是正确的,但在人行横道网站上存在一些相互矛盾的信息也是如此。

具体来说,这个链接埋在Cordova迁移部分:

Migrate using command line tools

建议:

  

Crosswalk需要一些额外的权限,这些权限未由Cordova应用程序生成器插入。

并具体引用:

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

点是,cordova只添加

<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会话的摄像头)。

在这方面,该列表是合适的(与其他独立浏览器的运动非常相似),可能是为了缩短解释。

顺便说一下,我已经做了一个测试并删除了&#34; CAMERA&#34;来自清单的许可,并且webview慷慨地处理了缺席(它没有使应用程序崩溃,相机停止工作并给出了黑色图片),这似乎指出你可以为你的用户处理webview即使使用有限的权限集也可以进行通用浏览(但不要理解我:我刚试过相机!)

希望这有帮助