как получить доступ к папке загрузки в android?

Я новый андроид, я создаю приложение, в котором можно загружать файлы в папку загрузок (с помощью диспетчера загрузки). Я могу видеть картинки, если я иду в папку загрузок в эмулятор. Поэтому, если я хочу показать слайд-шоу загруженных файлов, как я могу получить доступ к этой папке? Во-вторых, как добавить индикатор выполнения к этому коду: –

import java.util.Arrays; import android.app.Activity; import android.app.DownloadManager; import android.app.DownloadManager.Query; import android.app.DownloadManager.Request; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.ImageView; public class Download_managerActivity extends Activity { private long quueue_for_url; private DownloadManager dm; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) { long downloadId = intent.getLongExtra( DownloadManager.EXTRA_DOWNLOAD_ID, 0); Query query = new Query(); query.setFilterById(quueue_for_url); Cursor c = dm.query(query); if (c.moveToFirst()) { int columnIndex = c .getColumnIndex(DownloadManager.COLUMN_STATUS); if (DownloadManager.STATUS_SUCCESSFUL == c .getInt(columnIndex)) { ImageView view = (ImageView) findViewById(R.id.imageView1); String uri_String_abcd = c .getString(c .getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)); view.setImageURI(Uri.parse(uri_String_abcd)); } } } } }; registerReceiver(receiver, new IntentFilter( DownloadManager.ACTION_DOWNLOAD_COMPLETE)); } public void onClick(View view) { dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); Request request_for_url = new Request( Uri.parse("http://sofru.miximages.com/android/steve_jobs_portrait_by_tumb.jpg")); Request request_for_url1 = new Request( Uri.parse("http://sofru.miximages.com/android/katrina-kaif.jpg")); Request request_for_url2 = new Request( Uri.parse("http://sofru.miximages.com/android/suspendedpage.cgi")); quueue_for_url = dm.enqueue(request_for_url); quueue_for_url = dm.enqueue(request_for_url1); quueue_for_url = dm.enqueue(request_for_url2); } public void showDownload(View view) { Intent i = new Intent(); //try more options to show downloading , retrieving and complete i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS); startActivity(i); } } 

Я хочу добавить кнопку, которая выполняет функцию съемки фотографий из папки загрузки, а затем отображается как слайд-шоу.

              ?              

main.xml: –

       

    Для вашего первого вопроса попробуйте

     Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 

    (доступно с API 8)

    Для доступа к отдельным файлам в этом каталоге используйте либо File.list (), либо File.listFiles () . Кажется, что отчет о загрузке возможен только в уведомлении, см. Здесь .

    Вы должны установить это разрешение в файле manifest.xml

     android.permission.WRITE_EXTERNAL_STORAGE 

    Если вы используете Marshmallow, вам нужно либо:

    1. Запросить разрешения во время выполнения (пользователь сможет разрешить или отклонить запрос) или:
    2. Пользователь должен войти в Настройки -> Приложения -> {Ваше приложение} -> Разрешения и предоставить доступ к хранилищу .

    Это связано с тем, что в Marshmallow Google полностью обновил работу разрешений.

    Давайте будем гением компьютера.