2010-11-09 31 views
3

Est-ce que quelqu'un sait d'une intention que je peux utiliser pour ouvrir une ressource mp4 brute dans le lecteur vidéo du téléphone? J'ai essayé ce code:Android intention d'ouvrir la vidéo avec des ressources brutes?

Uri video = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video); 
    Intent intent = new Intent(Intent.ACTION_VIEW); 
    intent.setDataAndType(video, "video/*"); 
    startActivity(intent); 

Ce jeté un ActivityNotFoundException, mais cela a fonctionné pour moi quand l'URI était le sdcard et la vidéo se trouvait là-bas. Est-ce que quelqu'un sait comment je peux utiliser le code ci-dessus avec un fichier de ressources dans mon application?

Répondre

5

D'autres applications ne peuvent pas accéder à vos ressources. Vous devrez créer un ContentProvider ou stocker les données dans un endroit accessible à tous (soit une carte SD, soit dans un dossier public de votre stockage local).

+0

Ah, c'est logique. Pouvez-vous créer un fournisseur de contenu capable de renvoyer une vidéo? – marchinram

+0

Je pense que ce serait une meilleure idée de stocker le fichier sur le système de fichiers. Les fournisseurs de contenu sont utiles pour les bases de données. – EboMike

+0

Et si je voulais inclure les vidéos avec mon application, est-ce que je la transférerais des ressources vers le système de fichiers? Y a-t-il un meilleur moyen? – marchinram