2016-05-30 21 views
1

私はアンドロイドでdownloadmanagerを使うのが初めてです。私はgenymotionエミュレータを使用しています。アンドロイド:ダウンロードマネージャーはどこにファイルが保存されています

downloadmanagerを使用してmp3ファイルをダウンロードしようとしています。ダウンロード後にファイルがどこに保存されているかを知りたい

Environment.getExternalStorageDirectory() 

/storage/emulated/0を示します。その共有 "外部記憶装置"

私もそれが/storage/emulated/0/Downloadを指す

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 

をチェックします。 mp3ファイルはそこにありません。

私は/storage/emulated/0/Android/data/com.simha.sacredindaappもチェックしました。 mp3ファイルはありません。 mp3ファイルをダウンロードするための

私のコードは次のとおりです。あなたが先ディレクトリを設定する必要が

DownloadManager downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE); 
Uri uri = Uri.parse("http://audio.iskcondesiretree.com/02_-_ISKCON_Swamis/ISKCON_Swamis_-_R_to_Y/His_Holiness_Radhanath_Swami/Lectures/00_-_Year_wise/Devotional_Nectar_-_2016/2016-01-31_Various_-_Vrindavan_is_Perceived_by_Our_Consciousness-For_Ukraine_Devotees_-_Radhanath_Swami.mp3"); 
DownloadManager.Request request = new DownloadManager.Request(uri); 
request.setDescription("My Download").setTitle("Notification titile"); 
downloadManager.enqueue(request); 

答えて

1

DownloadManager downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE); 
Uri uri = Uri.parse("http://audio.iskcondesiretree.com/02_-_ISKCON_Swamis/ISKCON_Swamis_-_R_to_Y/His_Holiness_Radhanath_Swami/Lectures/00_-_Year_wise/Devotional_Nectar_-_2016/2016-01-31_Various_-_Vrindavan_is_Perceived_by_Our_Consciousness-For_Ukraine_Devotees_-_Radhanath_Swami.mp3"); 
DownloadManager.Request request = new DownloadManager.Request(uri); 
request.setDescription("My Download").setTitle("Notification titile"); 

// change the name file and your current activity. 
request.setDestinationInExternalPublicDir(MainActivity.this, Environment.DIRECTORY_DOWNLOADS, "test.jpg"); 

downloadManager.enqueue(request); 
+0

が、我々はそのがダウンロードされている場所を知らない:次に、onReceiveにアクションを使用すると、ユニークなダウンロードIDを取得し、それがステータスとローカルURIを問い合わせる使用することができますDownloadManager.ACTION_DOWNLOAD_COMPLETE等しい場合。 –

1

LIOR Shitritが述べたように、あなたが使用して宛先ディレクトリを設定する必要がありますrequet.setDestinationInExternalPublicDir(...);を。

ダウンロードファイルuriを取得するには、BroadcastReceiverDownloadManager.ACTION_DOWNLOAD_COMPLETEアクションで登録する必要があります。我々は先ディレクトリを設定していけない場合を意味

String action = intent.getAction(); 
if (action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE)) { 
    long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0); 
    Cursor cursor = downloadManager.query(new DownloadManager.Query().setFilterById(downloadId)); 
    if (cursor.moveToFirst()) { 
     int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)); 
     String uriString = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); 
     ... 
    } 

    cursor.close(); 
} 
関連する問題