我有2个具有不同包名称的应用程序。例如。 App1和App2。
App1需要将一些文件写入App2的内部存储器,以便将其上传到后端。
我在App1中使用了以下内容:
filePath = getPackageManager().getPackageInfo("app2.package.name", 0).applicationInfo.dataDir;
我可以获得正确的路径,但无法写入。我检查了logcat,它显示“权限被拒绝”。
我错过了什么吗?还有什么需要做的?
先谢谢
答案 0 :(得分:0)
感谢您的所有建议。我在android清单中使用了android:sharedUserId,现在可以在应用程序的内存中写入。
由于我的唯一目的是编写文本文件(不涉及共享等),我发现这是最容易实现的。
答案 1 :(得分:-1)
您无法直接访问其他应用程序内部存储器。只有在设备上具有超级用户权限才能这样做。
但为什么你的应用会写入另一个应用程序的内存?如果您必须在2个应用程序之间进行一些通信,还有其他方法可以执行此操作。即使用服务,内容提供商或广播意图并通过您的其他应用程序接收它。