簡體   English   中英

如何為 Cordova 項目向 AndroidManifest.xml 添加“uses-permissions”標簽?

[英]How do I add “uses-permissions” tags to AndroidManifest.xml for a Cordova project?

根據您添加的cordova 插件,一些<uses-permission>條目會自動添加到AndroidManifest.xml 中。 但是,我需要<uses-permission android:name="android.permission.INTERNET" />權限,該權限不會自動添加。

我可以將它直接添加到 AndroidManifest.xml 中,但是下次運行cordova build時它會被覆蓋,而且我不想繼續重新添加它...

我確定有一種“Cordova”方式來指定權限(在 config.xml 或其他地方),但我沒有在他們的文檔中的任何地方看到它......

那么,指定用戶權限的“Cordova 方式”是什么?

據我所知,每次運行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>

其中說在插件安裝時將 uses-permission 行添加到 AndroidManifest.xml 文件中。 但是你不能在 config.xml 文件中提到這一點。

另外不要忘記將此屬性放在config.xml文件中的根小部件元素中,該文件位於應用程序的根文件夾中,正如@hiddentao 在評論中所說。

配置文件

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

Cordova(版本 8) 為此.

我能夠使用以下方法將所需的“uses-permission”行添加到AndroidManifest.xml中:

<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>

可以添加這個插件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>

另外不要忘記將此屬性放在根小部件元素中,正如@hiddentao 在評論中所說。

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

在 config-file 標簽下手動添加

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM