0
でダウンロードしたファイルを見つけ、私持っているいくつかのaudiofilesをダウンロードし、MediaPlayerので(それらを果たしているアプリカントはDownloadManager
私はこのようなDownloadManagerを使用してファイルをダウンロードします。
今DownloadManager downloadmanager = downloadManager = (DownloadManager) getApplication().getSystemService(Context.DOWNLOAD_SERVICE);
long id = downloadManager.enqueue(new DownloadManager.Request(uri)
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI |
DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle(e.getValue().getName())
.setDescription(getString(R.string.DOWNLOAD_MANAGER_TITLE))
.setDestinationInExternalFilesDir(getApplication(),Environment.DIRECTORY_DOWNLOADS,fileName));
、私は、ファイルがダウンロードされていることを確認し、再生可能な しかし、私はFile
でそれらを開き、MediaPlayerのにそのファイルを渡す必要ができ
私はこのようなことを実行します。。
Uri fileUri = dlMgr.getUriForDownloadedFile(id);
File mAudioFile =new File(fileUri.getPath());
if(mAudioFile.exists(){
mediaPlayer.setDataSource(mAudioFile.getAbsolutePath());
}else
{
//the file does not exist <-- this is where i end
}
ダウンロードIDをSharedPreferencesにuidで保存し、ダウンロードマネージャを使用してファイルを削除します。downloadmanager.remove(id)
これは正常に動作し、正しいファイルが削除されます。
私は間違っていますか?
代わりgetUriForDownloadedFile
によって戻さUri
からファイルパスを取得するためのおかげで