0

我有 2 个具有不同包名称的应用程序。例如 App1 和 App2。

App1 需要将一些文件写入 App2 的内存,以便上传到后端。

我在 App1 中使用了以下内容:

filePath = getPackageManager().getPackageInfo("app2.package.name", 0).applicationInfo.dataDir;

我可以获得正确的路径,但无法写入。我检查了logcat,它显示“权限被拒绝”。

我错过了什么吗?还需要做什么?

4

2 回答 2

0

我在 Android 清单中使用了 android:sharedUserId,现在可以跨应用程序的内部存储器进行写入。

由于我唯一的目的是编写文本文件(不涉及共享等),我发现这是最容易实现的。

于 2012-12-03T08:55:46.663 回答
-1

您不能直接访问其他应用程序的内部存储器。只有在您的设备上具有 root 访问权限,您才能这样做。

但是为什么你的应用程序要写入另一个应用程序的内存呢?如果您必须在 2 个应用程序之间进行一些通信,还有其他方法可以做到这一点。即使用服务、内容提供商或广播意图并通过您的其他应用程序接收它。

于 2012-11-27T07:17:30.233 回答