Ionic / Cordova: Fügen Sie den Intent-Filter mit config.xml hinzu

9

Ich entwickle eine mobile App mit Ionic Framework (basierend auf Cordova).

In Android registriere ich meine App, um * .txt-Dateien zu öffnen. Ich mache das Hinzufügen von Intent-Filter in Plattformen / Android / AndroidManifest.xml und es funktioniert. Aber Plattformordner ist in .gitignore: Ich möchte es mit config.xml machen.

Ich habe versucht, config.xml hinzuzufügen:

%Vor%

Und ich habe auch versucht, hinzuzufügen:

%Vor%

Dann habe ich versucht, AndroidManifest zu aktualisieren

%Vor%

Oder auch:

%Vor%

Aber AndroidManifest.xml ist immer unverändert. Was mache ich falsch?

Ich verwende Ionic 1.3.2 und Cordova 4.2.0.

Bearbeiten Hier die gesamte config.xml:

%Vor%     
Marco Carnazzo 28.01.2015, 17:49
quelle

3 Antworten

16

Gelöst!

Ich kann es nicht mit Ionic oder Cordova tun: es ist eine PhoneGap-Funktion (siehe Stackoverflow-Antwort )

Ich kann es auf zwei andere Arten tun:

  1. Verwenden eines benutzerdefinierten Cordova-Plugins
  2. Einen Haken verwenden

Ich bevorzugte den zweiten Weg. Ich fand einen interessanten Hook für meine Zwecke. Hinweis: Rembember, um einige Pakete zu installieren:

%Vor%

Leider verbindet dieser Haken Tags. Also habe ich eine etwas veränderte Version dieses Hooks geschrieben: hier . Sie können diesen Haken in / hooks / after_platform_add einfügen.

Jetzt habe ich meine intent-filter Konfiguration in config.xml:

%Vor%

Und ich kann AndroidManifest.xml regenerierende Android-Plattform aktualisieren:

%Vor%     
Marco Carnazzo 29.01.2015, 14:52
quelle
6

Ich hatte das gleiche Problem, aber die Idee, eine Reihe von npm-Abhängigkeiten zu installieren (und dann die Abhängigkeit zu dokumentieren oder zu dokumentieren) und dann einen großen Allzweck-Hook zu verwenden, war viel zu schwer für das, was ich brauchte.

>

Hooks können einfache Shell-Skripte sein, die oft eine viel einfachere Möglichkeit zum Ändern von Textdateien darstellen. In meinem Fall musste ich nur einen Intent-Filter zur MainActivity -Aktivität hinzufügen, was ein trivialer Job für sed ist; Ich habe gerade die Datei hooks/after_prepare/020_add_moozvine_intents.sh mit dem Inhalt erstellt:

%Vor%

Arbeit erledigt. Sie können einen ähnlichen Ansatz für einfache Textänderungen an generierten Dateien verwenden.

    
Rich 24.02.2016 08:58
quelle
6

Hier ist die obige Lösung von Rich, geschrieben in JS für zukünftige Googler, da ich Probleme mit dem Shell-Skript hatte.

%Vor%

Verwenden Sie dies als Ihren Nachbereitungshaken.

Hinweis: Dies ist in ES6, Sie können eine ES5-Version hier finden: Ссылка

    
Christian Smorra 21.07.2016 15:26
quelle

Tags und Links