Android ouvrir fichier téléchargé

J'ai une question sur le téléchargement d'un fichier pdf et de l'ouvrir avec un lecteur pdf installé sur le téléphone. Je suis nouveau sur android et mon travail mais suis coincé sur cette partie.

Donc ce que j'ai maintenant:
J'ai une activité qui démarre le téléchargement d'un fichier pdf et essaie d'ouvrir est avec une intention. Pour l'instant tout est statique, donc c'est pourquoi j'ai un url.

private void DownloadFile(){
        DownloadManager downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
        Uri Download_Uri = Uri.parse("http://awebiste.adomain/afile.pdf");
        DownloadManager.Request request = new DownloadManager.Request(Download_Uri);

        request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);    
        request.setAllowedOverRoaming(false);   
        request.setTitle("My Data Download");
        request.setDescription("Android Data download using DownloadManager.");
        request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS,"test.pdf");

        Long downloadReference = downloadManager.enqueue(request);

        if (downloadReference != null){
            Intent target = new Intent(Intent.ACTION_VIEW);
            target.setDataAndType(Uri.parse(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/test.pdf"), "application/pdf");
            target.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

            Log.v("OPEN_FILE_PATH", getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/test.pdf");

            startActivity(target);

        } else {
            //TODO something went wrong error
        }
    }

Maintenant, le fichier est téléchargé et enregistré dans le dossier de l'application, en vertu de /storage.sdcard0/Android/data/<application>/files/download et de documents navigateur, le fichier peut être opent. Mais quand j'ai l'intention dans le bouton de mon code j'obtiens un toast que le fichier ne peut pas être opent. Après quelques recherches sur google je pense que c'est un problème de permission, car ces fichiers sont privés à la demande. Alors, comment puis-je faire de ces fichiers publics?

  • J'ai répondu à une question similaire hier qui peuvent aider (même si je suis perplexe la façon dont vous pouvez lire le fichier à l'aide de vos documents de navigateur, car il doit être privé de votre application): stackoverflow.com/questions/21304489/...
  • Malheureusement j'ai le même problème après la mise en œuvre de votre solution.
  • Se référer à Ma Réponse dans l'autre thread - Ici stackoverflow.com/questions/7239996/...
InformationsquelleAutor Msmit1993 | 2014-01-24