我用DownloadManager库下载了一个.apk文件,并且我有一个用于下载服务的BroadcastReceiver。这是我在onRecieve(代码):Android DownloadManager类:getUriForDownloadedFile返回错误路径
long id = intent.getExtras().getLong(DownloadManager.EXTRA_DOWNLOAD_ID);
DownloadManager dm = (DownloadManager)context.getSystemService(context.DOWNLOAD_SERVICE);
intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(dm.getUriForDownloadedFile(id), "application/vnd.android.package-archive");
context.startActivity(intent);
这里的问题是,当我打电话UriForDownloadedFile(ID)somtimes返回文件:///storage/emulated/0/Download/example.apk 和其它设备上返回 内容://下载/ all_downloads/183
,我不能用(内容://下载/ all_downloads/183)安装APK路径
**注意! 'DownloadManager'并不总是下载到我确定的路径!**什么时候?当文件已存在于路径中时。然后'DownloadManager'将它下载到另一个路径中。 –