2017-10-18 13 views
0

Je souhaite utiliser une fonctionnalité à partir de laquelle l'utilisateur peut lancer mon application/application en appuyant sur un fichier de projet. J'ai mes yeux sur le service com.gluonhq.charm.down.plugins.RuntimeArgsService Gluon.Est-il possible de lancer l'application à partir de l'URL et gérer le contenu de l'URL à partir de l'intérieur de l'application?

Ma première étape sera de lancer l'application à partir d'une URL. Cependant - je voudrais savoir si/comment il serait possible de faire savoir à mon application à partir de quelle URL il a été lancé - donc il peut automatiquement importer ce projet et l'afficher pour l'utilisateur.

L'URL de lancement peut-elle être fournie à l'application/à l'application - pour qu'elle sache d'où elle a été lancée?

+0

Serait-il possible de rendre le système d'exploitation mobile notifie mon application si un associé le fichier de l'application est supprimé? L'application iOS "Fichiers" sait à chaque fois que je supprime un fichier dans une application cloud, et reste à jour ... Puis-je faire quelque chose de similaire? – lelelo

Répondre

1

Avec la modification de la, AndroidManifest.xml pour Android - et Default-Info.plist sur iOS et en utilisant le com.gluonhq.charm.down.plugins.RuntimeArgsService cela a été possible.

Services.get(RuntimeArgsService.class).ifPresent(service -> { 
    service.addListener(LAUNCH_URL_KEY, con -> { 
     out("Received LAUNCH_URL_KEY: " + con); 
    }); 
}); 

(Le import static com.gluonhq.charm.down.plugins.RuntimeArgsService.LAUNCH_URL_KEY est nécessaire)

con ici (pour objet de consommation), contient l'URL d'où a été lancé l'application à partir. Dans mon cas un fichier nommé .example je me suis fait. Et qui me conduisent à la modification du fichier AndroidManifest.xml qui a également été nécessaire:

au fichier AndroidManifest.xml j'ajouté ce qui suit: enter image description here

En gluons bibliothèque Charme: http://docs.gluonhq.com/charm/javadoc/4.4.0/com/gluonhq/charm/down/plugins/RuntimeArgsService.html - il est expliqué comment utiliser le service , mais vous dit de vous définir comme "yourScheme" (pas pris littéraire ofcource).

Voici la documentation Android sur le type de balises neccassary. Il déclare que certains sont obligatoires à donner (afin d'associer des extensions de fichiers à votre application - entre autres). Je suis tombé sur ce poste Cannot open custom file extension. Notez qu'il est en train de paramétrer "fichier" ce qui est nécessaire. N'oubliez pas que certains data sont requis pour l'ajout, même si vous ne les définissez pas de manière spécifique. Tout cela m'a permis de lancer mon application à partir du type d'extension de fichier spécifié, puis de recevoir l'URL via l'écouteur par l'objet con.


Sur iOS J'ai eu ce travail en ajoutant deux clés dans le fichier Defualt-Info.plist. En ajoutant ceux que je dis au système que mon application peut ouvrir des fichiers ".exa" (comme dans l'exemple). "TryingService" est le nom de l'application Gluon. enter image description here

Il est également possible sur iOS recieve schémas d'URL avec les modifications apportées au fichier Defualt-Info.plist expliqué ici: How can I open/send a URL to another app on iOS with a Gluon application? dans les commentaires à cette question.

Et sur Android, il devrait également être possibel d'utiliser intents - qui est déjà utilisé par le ShareService dans la bibliothèque gluons Charm vers le bas: https://bitbucket.org/gluon-oss/charm-down/src/153d43c06ff129f1ff93cc48a030c3a2cf099281/plugins/plugin-share/android/src/main/java/com/gluonhq/charm/down/plugins/android/AndroidShareService.java?at=default&fileviewer=file-view-default