В настоящее время я могу загрузить файл из Интернета и сохранить на SD-карте, а затем использовать файл оттуда. Однако это делает файл (с проприетарными данными) доступным для просмотра. Я предпочел бы использовать файл откуда-то вроде raw или папки с ресурсами. я пропущу код загрузки, но мой код, чтобы использовать файл этогоИспользование файла, находящегося в папке raw или assets
File myFile = new File (android.os.Environment.getExternalStorageDirectory() + "/folder/filename.xml");
Intent myIntent = new Intent(Intent.ACTION_VIEW);
myIntent.setData(Uri.fromFile(myFile));
Android открывает файл с приложением по умолчанию, и все хорошо.
Я нашел аналогичный Q/A о том, что вращаются вокруг использования кода, как
Uri.parse("android.resource://com.projectname.testing/raw/filename");
и
InputStream ins = getResources().openRawResource(R.raw.filename);
, но я не могу работать, как получить любой из этих двух обратно в ' файл ', который будет использоваться с моим кодом .setData
Я хотел бы решить свою проблему, просто обратившись к файлу как к файлу. Однако, поскольку он используется внешним приложением, которое я прочитал, мне может потребоваться сделать временную копию файла с помощью mode_world_readable, а затем удалить его после закрытия приложения. Это звучит как большая часть дополнительной работы, тем более, что мой код выше работает для файла, хранящегося на SD-карте.
У кого-нибудь есть идеи? Thanks
Спасибо за ответ. Можете ли вы рассказать о том, как можно видеть файлы в папках с сырыми или активами? Я думал, что они были закодированы и упакованы в .apk, что потребовало бы взлома 'взлома' (таким образом, если бы кто-то должен был иметь мои личные данные, это доказывало бы «незаконную деятельность»). Кроме того, я пробовал всевозможные разные Параметры Uri.parse, но ничего не работает. Он работает только при передаче файла. – lifeIsGood
@lifeIsGood: «Можете ли вы рассказать о том, как можно видеть файлы в папках с сырыми или активами?» - они доступны для чтения в других приложениях. – CommonsWare