小编Mar*_*itt的帖子

下载管理器Android权限错误:写入外部存储

我编写了一个Android应用程序,使用DownloadManager将示例PDF文件下载到下载目录.这是代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_vertretungsplan);
    Button dlbutton = (Button) findViewById(R.id.buttondownload);
    final Context c = this;
    dlbutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(myurl));
            request.setTitle("Vertretungsplan");
            request.setDescription("wird heruntergeladen");
            request.allowScanningByMediaScanner();
            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
            String filename = URLUtil.guessFileName(myurl, null, MimeTypeMap.getFileExtensionFromUrl(myurl));
            request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, filename);
            DownloadManager manager = (DownloadManager) c.getSystemService(Context.DOWNLOAD_SERVICE);
            manager.enqueue(request);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

现在,我尝试在我的Xperia Z3 Android 6.0上从Android Studio调试运行它.当我点击下载按钮时,会发生以下错误:

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: com.example.markwitt.schul_app, PID: 29297
              java.lang.SecurityException: No permission to write to /storage/emulated/0/Download/hrpsampletable.pdf: Neither user 10047 nor current …
Run Code Online (Sandbox Code Playgroud)

xml android android-manifest android-permissions android-download-manager

11
推荐指数
2
解决办法
1万
查看次数