gpt4 book ai didi

cordova - ionic / Cordova : Add intent-filter using config. xml

转载 作者:行者123 更新时间:2023-12-04 03:25:56 26 4
gpt4 key购买 nike

我正在使用 Ionic Framework(基于 Cordova)开发一个移动应用程序。
在 Android 中,我注册我的应用程序以打开 *.txt 文件。
我在platforms/android/AndroidManifest.xml中添加了intent-filter,它可以工作。
但是平台文件夹在 .gitignore 中:我想使用 config.xml 来完成。
我尝试在 config.xml 中添加:

     <platform name="android">
<config-file target="AndroidManifest.xml" parent="/*/application/activity">
<intent-filter><!-- ... --></intent-filter>
</config-file>
<!-- ... -->
</platform>
我还尝试添加:
     <platform name="android">
<config-file target="AndroidManifest.xml" parent="/manifest/application">
<activity android:name="CordovaApp">
<intent-filter><!-- ... --></intent-filter>
</activity>
</config-file>
<!-- ... -->
</platform>
然后我尝试更新 AndroidManifest 启动
ionic prepare
或者还有:
ionic remove platform android && ionic add platform android
但 AndroidManifest.xml 始终不变。
我究竟做错了什么?
我正在使用 Ionic 1.3.2 和 Cordova 4.2.0。
编辑
这里是整个 config.xml:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="com.ionicframework.myapp551932" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
<name>MyApp</name>
<description>
myApp
</description>
<author email="xxx@yyy.it" href="http://www.example.com/">
A Team
</author>
<content src="index.html"/>
<access origin="*"/>
<preference name="webviewbounce" value="false"/>
<preference name="UIWebViewBounce" value="false"/>
<preference name="DisallowOverscroll" value="true"/>
<preference name="BackupWebStorage" value="none"/>
<preference name="SplashScreen" value="screen"/>
<preference name="SplashScreenDelay" value="3000"/>
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="true"/>
</feature>
<platform name="android">
<config-file target="AndroidManifest.xml" parent="/manifest/application/activity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="file" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.txt" />
<data android:host="*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="content" />
<data android:pathPattern=".*\\.txt" />
<data android:mimeType="*/*" />
</intent-filter>
</config-file>
<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
<splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
<splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
<splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
<splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
<splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
<splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
<splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
<splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
<splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
<splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
<splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
<splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
</platform>
<icon src="resources/android/icon/drawable-xhdpi-icon.png"/>
</widget>

最佳答案

Cordova 9 现在直接支持使用 <config-file> <edit-config> 部分,如 插件.xml 文件。
在不使用任何插件或钩子(Hook)的情况下,您可以直接执行以下操作,例如,将意图过滤器添加到 AndroidManifest.xml :

<?xml version='1.0' encoding='utf-8'?>
<widget id="yourdomain.app" version="1.7.8"
xmlns="http://www.w3.org/ns/widgets"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:cdv="http://cordova.apache.org/ns/1.0">
<!-- ... -->
<platform name="android">
<!-- ... -->
<config-file parent="application" target="AndroidManifest.xml">
<activity android:label="webIntentFilter" android:name="yourdomain.app">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="yourdomain.com" android:scheme="https" />
</intent-filter>
</activity>
</config-file>
</platform>
<!-- ... -->
</widget>
不要忘记添加属性 xmlns:android="http://schemas.android.com/apk/res/android"进入您的 <widget>避免使用标签 unbound prefix构建时出错。

关于cordova - ionic / Cordova : Add intent-filter using config. xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28198983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com