Java android文件下载在pie版本中不起作用
我正在实施下载选项,以便在我的应用程序中下载上载的文件。问题是,我可以下载除pie版本以外的所有移动版本的文件。当我尝试在pie移动版本中下载时,该文件不会下载。如果不知道您遇到的确切异常/错误,就无法帮助您,但是看看你的URL,我猜问题出在http上 从API级别28-Android 9 PIE开始,默认情况下,所有web请求都必须是安全的。 如果您试图访问不以https开头的URL,而没有在清单中明确列出它,您将得到一个错误 如何将域列入白名单或完全禁用此功能 另外,我建议您查看Android Pie的主要更改列表Java android文件下载在pie版本中不起作用,java,android,Java,Android,我正在实施下载选项,以便在我的应用程序中下载上载的文件。问题是,我可以下载除pie版本以外的所有移动版本的文件。当我尝试在pie移动版本中下载时,该文件不会下载。如果不知道您遇到的确切异常/错误,就无法帮助您,但是看看你的URL,我猜问题出在http上 从API级别28-Android 9 PIE开始,默认情况下,所有web请求都必须是安全的。 如果您试图访问不以https开头的URL,而没有在清单中明确列出它,您将得到一个错误 如何将域列入白名单或完全禁用此功能 另外,我建议您查看Androi
public class DownloadFile extends AsyncTask<Void, Void, Void> {
String str_id, str_docName;
public DownloadFile(String id, String docName) {
str_id = id;
str_docName = docName;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
Toast.makeText(mContext, "Downloading..", Toast.LENGTH_SHORT).show();
}
@Override
protected Void doInBackground(Void... voids) {
String url1 = "http://pap.india.com/API/s3_file_download?gid=" + str_id + "&filename=" + str_docName + "&type=icfo";
downloadFile(url1);
return null;
}
}
private void downloadFile(String urlString) {
dManager = (DownloadManager) mContext.getSystemService(Context.DOWNLOAD_SERVICE);
if (!urlString.equals("")) {
try {
String fileName = urlString.substring(urlString.lastIndexOf("/") + 1);
DownloadManager.Request request = new DownloadManager.Request(
Uri.parse(urlString));
request.setDescription("Download" + fileName + " from "
+ urlString);
request.setTitle("DownloadManager" + file_name);
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
final File dir = new File(Environment.getDownloadCacheDirectory(), "sample");
if (!dir.exists()) {
dir.mkdirs();
}
request.setDestinationUri(Uri.parse("file://"
+ Environment.getExternalStorageDirectory()
+ "/sample/" + fileName));
// request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "sample.pdf");
long did = dManager.enqueue(request);
} catch (Exception e) {
e.printStackTrace();
}
}
}