应用程序访问存储在应用程序B的内部存储器中的文本文件

时间:2012-11-27 12:59:12

标签: android

我的应用程序(应用程序A)需要编写一个文本文件,该文件将存储在另一个应用程序(App B)内部存储器下。知道如何实现这个吗?

我尝试了以下内容:

在AndroidManifest.xml文件下,我指定了相同的android:sharedUserId。

从App A,我用过:

filePath = getPackageManager()。getPackageInfo(“App B的包名”,0).applicationInfo.dataDir;

获取路径,我已确认路径对于App B的内部存储器是正确的。

但我得到“java.io.IOException:Permission Denied”。

我知道哪里弄错了?

1 个答案:

答案 0 :(得分:1)

根据官方文件here

  

从技术上讲,如果您将文件模式设置为可读,则另一个应用程序可以读取您的内部文件。但是,另一个应用程序还需要知道您的应用程序包名称和文件名。

这是一件可行的事情。

因此,使用您的文件路径创建一个File对象并在其上调用setReadable

此外,请检查您使用MODE_PRIVATE创建文件。