Я хочу загрузить базу данных sqlite db, специфичную для оператора сотовой связи, при установке приложения. У меня есть следующий код для загрузки new_db с помощью DownloadManager. Но я получаю следующее исключение.
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 следует использовать только для внешних данных, а не для данных, которые мне нужны, чтобы быть в частном доступе приложения?