使用下载管理器Android 9下载不成功。

问题描述 投票:1回答:1

我在安卓9上尝试用下载宝从网上下载一个文件,但只得到不成功的下载。这是我正在测试的内容。

我的Manifest权限:

<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: usesCleartextTraffic = "true" 在manifest中,但随后什么都没有发生。我从来没有得到任何错误,无论是在logcat还是在运行。

我遵循了这个教程。https:/androidwave.comdownload-and-install-apk-programmatically。

我不知道可能是什么问题,有什么解决办法吗?

请大家帮忙解决一下!

java android android-download-manager android-9.0-pie
1个回答
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);
}
© www.soinside.com 2019 - 2024. All rights reserved.