L'abus de Lexpage est bon pour la santé. À consommer sans modération.    —  JohnDuff

Discussions

Android, Intent et website

Guybrush 8427 Bob
Bonjour,

Je me pose une question à propos des Intents sous Android, mais je ne trouve pas vraiment de réponse sur le net.
Est-ce qu'il est possible de lancer une intent dans Android depuis un site internet affiché depuis un navigateur installé sous Android ?

Par exemple, imaginons que je souhaite ajouter dans mes contacts Android le profil d'un lexpagien. Est-ce qu'il est concevable d'avoir un bouton "Ajouter à mes contacts" sur Lexpage, avec une url du genre "contact:{firstname:machine,lastname:bidule,etc.}" ? Je sais que les intents d'Android fonctionnent avec un schéma d'URL, mais je ne trouve pas vraiment d'infos sur ces schémas, et je ne sais pas si un navigateur sous Android va directement faire ces appels (je sais que ce ne sera pas portable : ces intents ne marchent pas sous iOS par exemple, mais c'est pour "l'exercice"...)
Fabe 610 Geek
Je suis presque certain que non, et que c'est inenvisageable (sécurité ?).

En revanche, il est possible d'abonner une appli à l'ouverture des URL navigateur et de réagir en fonction du lien : l'application twitter propose d'ouvrir les URL en twitter.com/*
Guybrush 8427 Bob
Oui, en effet, on peut déclarer ce comportement dans le manifest.xml de l'application Android (Google utilise cela pour Youtube, Twitter pour son application, etc.). Je peux comprendre que pour des raisons de sécurité, c'est délicat de pouvoir "lancer des actions" sur le système, mais certaines actions nécessitent une intervention de l'utilisateur ou une confirmation (comme par exemple, ouvrir un carnet de contact et ajouter un nouveau contact pourrait simplement pré-remplir les champs sur la fiche).

C'est dommage si ce n'est pas faisable, parce que je ne comptais pas écrire une application juste pour ça :-) (il s'agira d'une web app dans laquelle on peut/doit encoder des clients, et j'aurai aimé avoir un bouton "Appeler" ou "Envoyer un message", qui lancerait simplement l'application concernée si elle a été configurée par défaut). Snif snif...
Fabe 610 Geek
Oh ! Dans ce cas : stackoverflow.com/a/2774…


Ce message a été modifié 1 fois. Dernière modification : 26 décembre 2014 à 14:50 par Fabe.

Guybrush 8427 Bob
Celui-là, je le connaissais :-) Mais c'est plutôt la faculté de pouvoir exporter le contact vers le téléphone, proposer la rédaction d'un sms, etc. (et également pouvoir proposer des rappels/notifications, bien qu'il n'existe aucune app "standard" sous Android pour gérer ça) :-D

Cela dit, c'est déjà "mieux que rien" comme intégration :-)
PetitCalgon 2672 Bob
Moi j'avais fait ça via des QR code. Le QR code affiché est un texte commençant par "tel:" ou "smsto:" et si on flash le QR code, il propose l'action associée.
* donc "tel:0102030405" te propose te téléphoner au 0102030405 (sachant que le téléphone est "intelligent", si tu mets des "-" ou des " " dans le n° de téléphone, il va les filtrer)
* et "smsto:0102030405" t'ouvre un nouvel SMS avec ce n° comme correspondant, et tu peux ajouter un texte avec "smsto:01020304:message à écrire dans le sms".

Tous les téléphones (iOS, Android ou WP) comprennent le QR code et ouvrent l'action associée, pour les ordinateurs ou tablettes, je ne sais pas.
Guybrush 8427 Bob
Oui, mais cela nécessite que l'application web soit consultée depuis un périphérique qui peut être pris en photo (ou autrement dit : depuis un périphérique qui n'est PAS celui qui va prendre la photo). En l'état, l'application web est prévue pour un navigateur classique, mais pourrait être "enrichie" quand utilisée sur une tablette (pour gérer les contacts, l'agenda, etc.) ou sur un smartphone (idem + appels/textos/emails vers un contact, par exemple).

Cela dit, je peux encore assez facilement écrire une application Android dont l'unique but est de catcher des liens spécifiques (appel, sms, etc.) et de transformer ça en une vraie Intent Android qui s'occupera de répondre à la fonction demandée (et donc une sorte de proxy, si on veut).
Fabe 610 Geek
Il y a fort à parier que les liens structurés comme énoncés par calgon doivent fonctionner au sein d'un browser. Il y en a surement d'autres, plus qu'à trouver une liste complète ? (après une recherche rapide, ça semble lié à WURFL où j'sais pas quoi).

Sinon il y a d'autres astuces, créer un contact ça doit être faisable en faisant télécharger une VCARD au navigateur.

Pour les notifs systèmes, je vois pas de moyen de se passer des API natives.
PetitCalgon 2672 Bob
Ben il suffit de faire le test pour voir que ça marche pas ;-)
[url=tel:0102030405]Téléphone moi[/url]
[url=smsto:06070809:Bonjour toi]Écris moi[/url]
[url=contact:{firstname:guybrush,lastname:threepwood}]Qui es-tu?[/url]
:bigsmile2:
Fabe 610 Geek
Les deux premiers fonctionnent chez moi (chrome sur lollipop) , pour le troisième ça doit surtout être une question de type mime.

Répondre

Vous devez être inscrit et identifié.