Неудачная загрузка с помощью диспетчера загрузок Android 9

Я пытаюсь загрузить файл из Интернета с помощью DownloadManager на Android 9, но у меня ничего не получается. Это то, что я тестирую:

Мое разрешение манифеста:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

Мой код для загрузки:

    private final String FILE_NAME = "SampleDownloadApp.apk";
    String apkUrl = "https://androidwave.com/source/apk/app-pagination-recyclerview.apk";

public void download(Context context) {
    DownloadManager dm = (DownloadManager)context.getSystemService(DOWNLOAD_SERVICE);
    Uri mUri = Uri.parse(apkUrl);
    DownloadManager.Request r = new DownloadManager.Request(mUri);
    r.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
    Uri uri = Uri.parse("file://" + context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).toString() + "/" + FILE_NAME_2);
    r.setDestinationUri(uri);
    dm.enqueue(r);
}

Я пробовал android: useCleartextTraffic = "true" в манифесте, но ничего не происходит. Я никогда не получаю никаких ошибок ни в logcat, ни в run.

Я следовал этому руководству: https://androidwave.com/download-and-install-apk-programmatically/

Я понятия не имею, в чем может быть проблема, есть ли решение?

Помогите с этим!


person JoSeBu    schedule 28.05.2020    source источник
comment
вы включили разрешение в настройках приложения для хранения?   -  person Mirza Ahmed Baig    schedule 28.05.2020
comment
Да, включен   -  person JoSeBu    schedule 28.05.2020


Ответы (1)


что-то не так с вашим URL-адресом, который вы пробовали следовать, и он работает

private final String FILE_NAME = "SampleDownloadApp.apk";
    String apkUrl = "https://d-10.winudf.com/b/APK/Y29tLm5lbW8udmlkbWF0ZV80MzUxMV9iOTJjMTFkZA?_fn=VmlkTWF0ZSBIRCBWaWRlbyBEb3dubG9hZGVyIExpdmUgVFZfdjQuMzUxMV9hcGtwdXJlLmNvbS5hcGs&_p=Y29tLm5lbW8udmlkbWF0ZQ&am=cCsiKSeBEin6IVuzn-Q2PA&at=1590661203&k=3c1a8eca32edf42751cb3f5fa102d0205ed0e1d3";

public void download(Context context) {
    DownloadManager dm = (DownloadManager)context.getSystemService(DOWNLOAD_SERVICE);
    Uri mUri = Uri.parse(apkUrl);
    DownloadManager.Request r = new DownloadManager.Request(mUri);
    r.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
    r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, FILE_NAME);
    dm.enqueue(r);
}
person Mirza Ahmed Baig    schedule 28.05.2020
comment
Это работает, но в чем причина? Что происходит с другим URL? Если я ввожу URL-адрес с Chrome, он загружает apk. - person JoSeBu; 28.05.2020
comment
кажется, что URL-адрес небезопасен, проверьте URL-адрес в chrome в информации, они говорят, что это небезопасно - person Mirza Ahmed Baig; 28.05.2020