Il ne semble pas y avoir de bon moyen de faire ce que vous voulez (du moins d'après mes tests avec Android 4.0.4 ; la situation est peut-être différente avec d'autres versions).
Utilisation de http:
o https:
liens interceptés par une application
En théorie, il suffit d'utiliser le https://docs.google.com/...
Le lien vers le document devrait fonctionner pour vous. D'après cette réponse sur StackOverflow , interceptant http:
o https:
URLs est la manière appropriée de lancer une application lors de l'ouverture d'un lien à partir du navigateur Android. C'est exactement ce que fait l'application Google Drive : elle enregistre des filtres d'intention pour les URL. https://drive.google.com
, https://docs.google.com
, https://spreadsheets.google.com
et un tas d'URLs similaires (y compris http:
avec les mêmes noms d'hôtes). Et cela fonctionne réellement - lorsque vous utilisez le navigateur Android standard, vous tentez d'ouvrir un lien pointant sur https://drive.google.com
fait apparaître une fenêtre de sélection dans laquelle l'application Google Drive est incluse dans la liste (ainsi que tous les navigateurs installés) ; la sélection de Google Drive entraîne l'ouverture du document dans l'éditeur Google Drive, comme vous le souhaitez.
Mais le problème est que de telles URL HTTP[S] interceptées fonctionnent uniquement dans le navigateur Android standard - Je n'ai pas pu trouver de navigateur tiers capable d'afficher le sélecteur d'applications en suivant de tels liens. J'ai testé Chrome, Dolphin, Firefox, Light Browser, Opera (y compris Classic et Mini), UC Browser, et tous ont simplement ouvert le lien en interne au lieu de proposer de le transmettre à l'application Google Drive.
Utilisation de la intent:
Schéma URI
Il existe un autre moyen de créer un lien qui démarre une application Android - utilisez la fonction intent:
schéma URI. Je n'ai pas été en mesure de trouver une documentation appropriée pour l'option intent:
URI ; bien entendu, le format code source de la fonction qui génère ces URIs est disponible.
Para votre document de test :
https://docs.google.com/document/d/1zSzDnV-90Ke3dzCCJ2CZ6iQ3JQ3F1hL1udGDqbNwwbY/edit?usp=sharing
le correspondant intent:
Le lien qui l'ouvre dans l'application Google Drive sera le suivant :
intent://docs.google.com/document/d/1zSzDnV-90Ke3dzCCJ2CZ6iQ3JQ3F1hL1udGDqbNwwbY/edit?usp=sharing#Intent;scheme=https;action=android.intent.action.VIEW;category=android.intent.category.DEFAULT;category=android.intent.category.BROWSABLE;package=com.google.android.apps.docs;end
Un lien de test avec cette URI est sur une page séparée (il n'est pas possible de créer un lien réel pointant vers cette URI ici).
Le processus de conversion est le suivant :
-
Remplacer le démarrage https:
con intent:
.
-
Ajouter des paramètres d'intention :
#Intent;scheme=https;action=android.intent.action.VIEW;category=android.intent.category.DEFAULT;category=android.intent.category.BROWSABLE;package=com.google.android.apps.docs;end
Ici scheme=https
correspondent à https:
dans l'URL d'origine, donc si vous voulez convertir un simple http:
URL, ce champ doit être scheme=http
. Et package=com.google.android.apps.docs
est le nom du paquet de l'application qui doit gérer le lien.
Désormais, lorsque ce lien est suivi, le navigateur devrait ouvrir directement l'application Google Drive (sans afficher le sélecteur d'applications). Toutefois, si l'application n'est pas installée, Android ouvrira l'application Market à la place et effectuera une recherche pour le nom du paquet spécifié, afin que l'utilisateur puisse installer l'application requise.
Il est également possible de rendre le intent:
sans le lien package
paramètre :
intent://docs.google.com/document/d/1zSzDnV-90Ke3dzCCJ2CZ6iQ3JQ3F1hL1udGDqbNwwbY/edit?usp=sharing#Intent;scheme=https;action=android.intent.action.VIEW;category=android.intent.category.DEFAULT;category=android.intent.category.BROWSABLE;end
Dans ce cas, le comportement devrait être le même que lorsque l'intercepté https:
est suivi dans le navigateur Android standard - le sélecteur d'applications avec l'application Google Drive et toutes les applications du navigateur sera affiché, et si l'application Google Drive n'est pas installée, l'utilisateur ne sera pas redirigé pour l'installer à partir de Market.
Contrairement à l'interception http:
y https:
liens, intent:
Les liens fonctionnent dans un plus grand nombre d'applications de navigateur Android ; malheureusement, certains navigateurs ne les prennent pas en charge. Résultats de mes tests :
Et, évidemment, les navigateurs autres qu'Android ne supporteront pas du tout de tels liens. Vous devrez donc utiliser une sorte de reniflage du navigateur si vos pages doivent également être utilisables par d'autres clients.
Utilisation d'un schéma URI personnalisé
Certaines applications utilisent des schémas d'URI complètement non standard, qui peuvent également fonctionner avec des navigateurs tiers. Cependant, l'application Google Drive ne fait pas cela et cette solution n'est donc pas adaptée (à moins que quelqu'un ne crée une application "pont" qui ne fait que transmettre les demandes à l'application Google Drive).
Certains navigateurs peuvent également refuser les schémas d'URI non standard, à l'exception de ceux figurant sur une liste blanche (tels que market:
) pour des raisons de sécurité ; je n'ai pas essayé de le tester.