Ява — Чтобы прочитать файл из одного игрового приложения (в C ++) в мое приложение для Android

Я хочу прочитать текстовый файл, представленный в другом каталоге, т.е. в каталоге игр (/ sdcard / Android / data / game_package_name / files) из моего приложения для Android.

Есть ли способ сделать это, если да, то, пожалуйста, предложите.

Примечание: это для приложения производственного уровня, поэтому, пожалуйста, избегайте каких-либо корневых функций.

0

Решение

В основном вы не может получить доступ к песочнице другого приложения.
Однако, если вы можете изменить другое приложение, вы можете использовать Поставщик услуг или аналогичное решение совместного доступа для предоставления доступа к этому конкретному файлу из других приложений

Храните общий файл в общей папке

Поскольку вы хотите получить доступ к файлу из разных приложений, а песочница из одного не будет доступна из другого, вы должны записать свой файл в каталог, доступный из обоих, например:

String fileName = Environment.getExternalStorageDirectory().getPath() + "myFolderForBothApplications/myFileNameForBothApplications.txt";

Используйте контент-провайдера

Если вы предпочитаете хранить свой файл как часть одного приложения, вы все равно можете предоставить информацию через ContentProvider.
В нем переопределите public ParcelFileDescriptor openFile(Uri uri, String mode) метод, а в другом приложении просто используйте метод getContentResolver().openInputStream(...).

И вот несколько ссылок на связанные темы, откуда я беззастенчиво скопировал / вставил код:

0

Другие решения

Других решений пока нет …