如何为Cordova项目向AndroidManifest.xml添加"uses-permissions"标签?

Tro*_*roy 27 android cordova

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

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

我确定有一种"Cordova"方式来指定权限(在config.xml或其他地方),但我没有在他们的文档中看到它...

那么,指定用户权限的"Cordova方式"是什么?

kum*_*mar 50

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

由于权限是特定于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>
Run Code Online (Sandbox Code Playgroud)

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

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

plugin.xml中

<widget
  xmlns:android="http://schemas.android.com/apk/res/android"
  ...>
Run Code Online (Sandbox Code Playgroud)

  • 为了实现这一点,我还必须在我的config.xml中将`xmlns:android ="http://schemas.android.com/apk/res/android"添加到root`tidget`标签中 (20认同)

gle*_*nnr 14

Cordova(版本8)具有内置功能.

我能够添加所需的"使用权限"行来AndroidManifest.xml使用:

AndroidManifest.xml

  • 如果您尝试过其他方法来修改配置,则可以通过&lt;br/&gt;`cordova platform remove android &lt;br/&gt; cordova platform add android将其重置。 (2认同)
  • 此设置将**替换**以前的配置。或者,添加新属性。在这种情况下,请替换第一个“uses-permission”。 (2认同)

Dor*_*rad 13

可以添加此插件(Git).它使您能够以下列方式在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>
Run Code Online (Sandbox Code Playgroud)

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

xmlns:android="http://schemas.android.com/apk/res/android"
Run Code Online (Sandbox Code Playgroud)