【发布时间】:2015-01-06 20:16:18
【问题描述】:
我想在应用安装时下载手机运营商特定的 sqlite db。 我有以下代码可以使用 DownloadManager 下载 new_db。 但我得到以下异常。
java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.xyz.abc/com.xyz.abc.MainActivity}:
java.lang.SecurityException: Destination must be on external storage:
file:///data/data/com.xyz.abc/databases/new_db.gz
代码:
Uri uri=Uri.parse("http://download_url_of_mine?cellinfo=404_45_1_2");
String databasePath = context.getDatabasePath("existing_db.db").getParent();
lastDownload=
mgr.enqueue(new DownloadManager.Request(uri)
.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI |
DownloadManager.Request.NETWORK_MOBILE)
.setAllowedOverRoaming(false)
.setTitle("Title")
.setDescription("Downloading Data Once for all.")
.setDestinationUri(Uri.fromFile(new File(databasePath+"/new_db.gz"))));
非常感谢任何帮助! 是不是 DownloadManager 应该只用于外部数据而不是我需要在应用程序的私有访问中的数据?
【问题讨论】:
标签: android sqlite android-download-manager