从一个游戏应用程序(用C ++)读取文件到我的Android应用程序

时间:2017-03-07 13:26:56

标签: java android c++ unity3d android-api-levels

我想从我的Android应用程序中读取存在于不同目录中的文本文件,即游戏目录(/ sdcard / Android / data / game_package_name / files)。

有没有办法这样做,如果是,那么请建议。

注意:这适用于生产级应用程序,因此请避免使用任何特定于root的功能。

1 个答案:

答案 0 :(得分:0)

基本上,你是cannot access another application's sandbox。 但是,如果您可以修改其他应用程序,则可以使用ContentProvider或类似的共享解决方案来从其他应用程序访问此特定文件。

将共享文件存储在共享文件夹

由于您要从不同的应用程序访问该文件,而另一个应用程序中的沙箱不可用,您应该将文件写入可从两者访问的目录中,例如:

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

使用内容提供商

如果您希望将文件保留为一个应用程序的一部分,您仍然可以通过ContentProvider公开信息。 在其中,覆盖public ParcelFileDescriptor openFile(Uri uri, String mode)方法,在其他应用程序中,只需使用方法getContentResolver().openInputStream(...)

这里有一些相关主题的链接,我无耻地复制/粘贴代码: