Что возвращает .getExternalStorageDirectory в устройствах Android без съемной SDCARD? - PullRequest
0 голосов
/ 18 ноября 2018

Я хочу загрузить файлы с http-адреса, а затем сохранить их на SDCard или во внутреннем хранилище (если SDCARD не существует), но я запутался в выводе .getExternalStorage, а также в том, как получить доступ к специальному внутреннему каталогу.Я написал этот код для проверки наличия sdCard и затем setDestination для загружаемых файлов:

 public void checkForDownload() {
    Boolean isSdCard = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
    Boolean isSdSupportedDevice = Environment.isExternalStorageRemovable();
    if (isSdCard && isSdSupportedDevice) {
        File sdDirectory = new File(Environment.getExternalStorageDirectory() + "pdfFiles", fileName);
        if (!sdDirectory.exists()) {
            downloadpdfBook(myActivity.this, "/pdfFiles", true);
        } else
            Toast.makeText(myActivity.this, "This file is downloaded", Toast.LENGTH_SHORT).show();
    } else {
        File directory = new File(myActivity.this.getFilesDir() + "pdfFiles", fileName);
        if (!directory.exists()) {
            downloadpdfBook(myActivity.this, "/pdfFiles", false);
        } else
            Toast.makeText(myActivity.this, "This file is downloaded", Toast.LENGTH_SHORT).show();

    }
}

public void downloadpdfFile(Context context, String directory, Boolean isSd) {


    Uri uri = Uri.parse(bookUrl);
    downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
    DownloadManager.Request request = new DownloadManager.Request(uri);
    if (isSd) {
        request.setDestinationInExternalPublicDir(Environment.getExternalStorageDirectory() + directory, fileName);
    } else
        request.setDestinationInExternalFilesDir(context, directory, fileName);
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
    long ref = downloadManager.enqueue(request);
}

Пожалуйста, помогите мне, если это возможно.Спасибо.

...