2 votes

Ouvrir un lien d'image à partir d'un tag NFC

J'ai une étiquette NFC (FeliCa), où je stocke une URL vers une image. (quelque chose comme https://www.google.de/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png par exemple). Ce Tag est émulé par un ACR1252U USB NFC -Mais pour tout smartphone Android, il se comporte comme n'importe quelle étiquette physique réelle. Lorsque j'approche mon smartphone Android 4.4 de la balise (émulée), il ouvre automatiquement mon application de navigation et navigue vers le lien image.

Jusqu'à présent, tout va bien.

Cependant, mon objectif est que le smartphone Android n'ouvre pas l'image dans le navigateur, mais qu'il l'enregistre dans le stockage et/ou l'affiche dans l'application de galerie d'images du téléphone Android. Je veux atteindre cet objectif avec le moins d'étapes possible.

Il est certain qu'il doit y avoir une invite pour l'utilisateur "Voulez-vous enregistrer cette image" ou quelque chose comme ça. Mais comment puis-je réaliser cela ? Comment dois-je stocker le lien de l'image sur le tag nfc, pour que l'image s'ouvre dans la galerie au lieu du navigateur ?

2voto

rizzle Points 3127

Non, il n'existe pas d'option que vous pouvez définir sur la balise NFC pour forcer Android à stocker immédiatement l'image ou à l'afficher dans l'application Galerie. La raison en est que vous stockez uniquement une URL sur le tag. Avant d'ouvrir l'URL, Android ne connaît même pas le type de données qu'elle contient (par exemple, "ceci est une image"). En fait, les URL n'ont pas ce concept de type de données, elles font simplement référence à un emplacement de stockage. Par conséquent, Android ne peut ouvrir qu'une application enregistrée pour cette URL (ou les URL en général), qui est généralement un navigateur web.

Ce que vous pourriez faire :

  1. Si vous avez le contrôle du côté serveur, vous pouvez essayer de forcer le téléchargement de l'image à partir du serveur. Vous pouvez le faire en définissant un paramètre Content-Disposition lorsque l'image est demandée au serveur :

    Content-Disposition: attachment; filename="googlelogo_color_272x92dp.png"
  2. Si l'image tient sur votre balise émulée, vous pouvez essayer de l'intégrer dans un enregistrement de type MIME au lieu de transmettre une URL à l'image. Sur de nombreux appareils Android, les enregistrements d'images de type MIME devraient être ouverts par défaut dans l'application standard Balises (cf. Lire un tag NFC sans application spécifique ? ). Cependant, je n'ai jamais testé si cela fonctionne bien (ou si l'image est réellement affichée). Voir Image sur les tags nfc sur la façon dont un tel enregistrement de type MIME pourrait être créé avec le code Android.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X