Comment ouvrir un fichier dans Android via une Intention

comment puis-je ouvrir un fichier qui a été précédemment stockées dans le "privat" système de fichiers? Le fichier est téléchargé par un webservice et doivent être stockés sur le local fs.
J'ai eu un "étrange" erreur lorsque vous essayez d'ouvrir le fichier via une Intention (Action_View). Bien que le fichier est présent dans le système de fichiers (vu le fichier dans l'explorateur de fichiers de l'émulateur/eclipse), il ne sera indiqué dans l'appel de la galerie de l'activité qui est lancé. Au lieu de l'image de la galerie affiche un écran noir avec non pas sur le contenu (à l'exception de la barre d'action). La même chose se produit lorsque vous essayez d'ouvrir un fichier pdf/film/mp3 fichier par l'intermédiaire de cette méthode (pdf dit par exemple que le fichier est corrompu).

BTW: Les données qui ont été stockées sur le local fs est valide (non corrompus), j'ai téléchargé les fichiers à partir du débogueur (via la méthode "pull") et les fichiers peuvent être ouverts sur mon poste de travail...

public void onAttachment(Context context, Attachment attachment) {
    try {
        //Attachment is a structured data object that contains of a byte[], filename and mimetype (like image/jpeg)
        FileOutputStream fos = FileOutputStream fos = context.openFileOutput(attachment.getAttachmentFileName(), Context.MODE_PRIVATE);
        fos.write(attachment.getBinary());
        fos.flush();
        fos.close();
        File f = context.getFileStreamPath(attachment.getAttachmentFileName());
        Uri uri = Uri.fromFile(f);          
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(uri,attachment.getAttachmentMimetype());
        context.startActivity(intent);                  
    } catch (IOException e) {
        e.printStackTrace();
    }
}           
peut-être que c' stackoverflow.com/questions/11068648/... peut aider.

OriginalL'auteur tim.kaufner | 2012-09-25