请问大家,我写了一个使用DOWNLOAD MANAGER下载文件的代码,为什么调试的时候总是下载失败呢? 20C

package com.example.xiazai;

import androidx.appcompat.app.AppCompatActivity;

import android.app.DownloadManager;
import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.app.DownloadManager.Request;

public class MainActivity extends AppCompatActivity {
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=findViewById(R.id.button);
}
public void Check(View v){
if(v.getId() == R.id.button){
downloadFile2();
}
}
private void downloadFile2(){
//下载路径,如果路径无效了,可换成你的下载路径
String mSDCardPath= Environment.getExternalStorageDirectory().toString();
String url = "http://mhhy.dl.gxpan.cn/apk/ml/MBGYD092101/Gardenscapes-ledou-MBGYD092101.apk";
//创建下载任务,downloadUrl就是下载链接
Request request = new Request(Uri.parse(url));
//request.setAllowedNetworkTypes(Request.NETWORK_WIFI);
//指定下载路径和下载文件名
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "my.apk");
request.setMimeType("application/vnd.android.package-archive");
//request.setDestinationInExternalFilesDir(MainActivity.this,a,"my.apk");
//获取下载管理器
DownloadManager downloadManager= (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
request.setTitle("我的下载");
request.setDescription("下载一个大文件");
// 下载过程和下载完成后通知栏有通知消息。
request.setNotificationVisibility(Request.VISIBILITY_VISIBLE | Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
//将下载任务加入下载队列,否则不会进行下载
downloadManager.enqueue(request);
Toast.makeText(MainActivity.this, mSDCardPath, Toast.LENGTH_SHORT).show();
}
}

1个回答

我去回答怎么被删掉了
Environment.DIRECTORY_DOWNLOADS 是内部存储
打开这个

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐