J'essaie d'envoyer des données à une intention ACTION_VIEW ou ACTION_SEND sans écrire ces données dans un fichier.Comment envoyer des données dans une intention sans stockage externe
La plupart des intentions veulent un Uri, qui est généralement basé sur un chemin de fichier ou URL comme ceci:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(new File(context.getFilesDir(), TEMP_FILE_NAME));
intent.setDataAndType(uri, "application/pdf");
context.startActivity(intent);
Je préférerais que les données que je partage avec une intention de ne pas être visible par tous sur le stockage externe . Le stockage interne (comme dans l'exemple ci-dessus) n'est pas accordé aux intentions appelées (ce qui signifie qu'une visionneuse pdf ne peut pas voir les fichiers dans l'espace privé de mon application).
Diane Hackborne fait allusion à des données pouvant être copiées dans l'intention ici: http://groups.google.com/group/android-developers/browse_thread/thread/be9b069ca8906417#
Mais je n'ai pas trouvé d'autres données sur la façon dont cela se passerait-il.
Des idées? Merci!
Je suis d'accord avec vous sur l'utilisation d'extras pour vos propres besoins. Comment cela fonctionnerait-il pour ACTION_VIEW et ACTION_SEND pour le visionnement et l'envoi par des tiers? Que disait Diane dans le lien que j'ai posté? – Shellum
Je crois que Dianne faisait référence à des figurants dans son post. Si vous tentez d'invoquer une activité/un service tiers avec votre «intention», vos options sont limitées dans une certaine mesure car ce composant tiers s'attend à recevoir des données d'une certaine manière (ce qui devrait être documenté). Si le composant tiers s'attend à recevoir un 'Uri', alors vous devrez soit utiliser le stockage interne/externe, soit créer votre propre implémentation' ContentProvider' (par exemple, sauvegardée par une base de données Sqlite) – tomtheguvnor
Bon, alors juste pour vérifier , il n'y a vraiment pas un moyen sécurisé de passer un fichier à ces intentions génériques sans l'écrire sur un stockage partagé ou créer un fournisseur de contenu ouvert à tous? – Shellum