2010-12-02 18 views
2

Nous téléchargeons un fichier à partir d'un serveur et l'écrivons dans un dossier sur la carte SD. Dès que l'écriture se termine, nous effectuons un scan multimédia sur ce dossier. Lorsque l'utilisateur tente d'ouvrir le fichier pour la visualisation, nous essayons de tirer parti sur le mécanisme intention d'Android et soulever une intention comme suit:Ouverture d'un fichier récemment écrit à l'aide d'Intents

Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.fromFile(tempFile)); 
// MIME_TYPE could be either of: image/*, video/*, audio/*, text/* 
myIntent.setType(MIME_TYPE); 
startActivity(Intent.createChooser(myIntent, "Open file using...")); 

Sur émulateur, la caméra application est lancée pour cette intention, mais l'application se bloque avec NPE. Et sur MOTOROLA Milestone, nous recevons un Toast qui dit: "Aucune image à montrer". Notez que la photo est réellement affichée dans Media Gallery de l'émulateur et du téléphone dès la fin de l'analyse.

Vous ne savez pas ce qui a été manqué ici; aidez s'il vous plaît.

Répondre

1

étrangement, passant de

Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.fromFile(tempFile)); 
// MIME_TYPE could be either of: image/*, video/*, audio/*, text/* 
myIntent.setType(MIME_TYPE); 

à

Intent myIntent = new Intent(Intent.ACTION_VIEW); 
// MIME_TYPE could be either of: image/*, video/*, audio/*, text/* 
myIntent.setDataAndType(Uri.fromFile(tempFile), MIME_TYPE); 

travaillé!