如何添加" uses-permissions"用于Cordova项目的AndroidManifest.xml标签?

时间:2015-05-05 00:03:01

标签: android cordova

根据您添加的cordova插件,一些<uses-permission>条目会自动添加到AndroidManifest.xml。但是,我需要<uses-permission android:name="android.permission.INTERNET" />权限,该权限不会自动添加。

我可以将它直接添加到AndroidManifest.xml,但是下次运行cordova build时会被覆盖,我不想再继续添加它......

我确定有一个&#34; Cordova&#34;指定权限的方式(在config.xml或其他地方),但我在their documentation任何地方都没有看到它...

那么,&#34; Cordova方式&#34;是什么?指定用户权限?

4 个答案:

答案 0 :(得分:45)

据我所知,每次运行cordova build时都不会生成AndroidManifest.xml。添加/删除插件时,将相应地进行修改。但是,如果您添加自己的权限,则不会删除(除非存在冲突)。

由于权限是特定于Android(平台)的,因此您必须将其添加到 AndroidManifest.xml 文件中。

即使在任何插件的plugin.xml中,他们也会添加权限,如下所示:

<platform name="android">
    <config-file target="AndroidManifest.xml" parent="/manifest">
        <uses-permission android:name="android.permission.INTERNET"/>
    </config-file>
</platform>

其中说在插件安装时将use-permission行添加到AndroidManifest.xml文件。但你不能在config.xml文件中提到这一点。

另外,请不要忘记将此属性放在根小部件元素中,如@hiddentao在评论中所述。

<强>的plugin.xml

<widget
  xmlns:android="http://schemas.android.com/apk/res/android"
  ...>

答案 1 :(得分:13)

可以添加此pluginGit)。 它使您能够以下列方式在config.xml文件下定义特定于平台的配置(权限):

<platform name="android">
    <custom-config-file target="AndroidManifest.xml" parent="/*">
         <uses-permission android:name="android.permission.INTERNET" />
         <!--<uses-permission android:name="android.permission.NETWORK_ACCESS" />
             <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />-->
    </custom-config-file>
</platform>

另外,请不要忘记将此属性放在根小部件元素中,如@hiddentao在评论中所述。

xmlns:android="http://schemas.android.com/apk/res/android"

答案 2 :(得分:8)

Cordova(版本8)具有built in functionality for this

我能够使用以下命令向AndroidManifest.xml添加所需的“ uses-permission”行:

<platform name="android">
    ...
    <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/uses-permission" xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-permission android:name="android.permission.INTERNET" />
    </edit-config>
    ...
</platform>

答案 3 :(得分:-1)

在config-file标签下手动添加

'----------------------------------------------------------------------
' MoveFile
'
'   Moves the file from FromFile to ToFile.
'   Returns True if it was successful.
'----------------------------------------------------------------------
Public Function MoveFile(FromFile As String, ToFile As String) As Boolean

    Dim objFSO As Object

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    On Error Resume Next
    objFSO.MoveFile FromFile, ToFile
    MoveFile = (Err.Number = 0)
    Err.Clear
End Function