2011-03-23 113 views
3

我需要获得对我的应用程序的lib目录(即/data/data/com.my.app/lib/)的写入权限并在那里存储文件,并且我需要从我的应用程序中执行此操作。可能吗?如果是这样,怎么样?更改目录权限

编辑

通过我的应用我的意思是使用Java。 /data/data/com.my.app/lib/是同一应用程序的lib目录的路径。

编辑

不幸的是,LeffelMania说,我找不到任何方便的方式来做到这一点。幸运的是,我们以更好的方式解决了这个问题 - 我们说服了库的开发人员让它更加动态:)。再次感谢LeffelMania。

+0

你在写什么?将它作为字节数组存储在数据库中... – trgraglia 2011-03-27 00:31:05

+0

我正在编写一个SO,稍后将其加载到我的程序中。我可以将它存储在其他目录中,例如'/ data/data/com.my.app /'和'/ data/data/com.my.app/files /',但我需要将它专门保存在' bin'目录。 – MByD 2011-03-27 00:33:37

+0

您需要告诉我们为什么它必须位于bin目录中,因为没有合理的解释。只有您的应用程序的可执行二进制文件应位于bin目录中。 – LeffelMania 2011-03-29 18:38:34

回答

4

无法直接写入其他应用程序的文件空间。您的应用程序拥有对自己的空间和外部存储(SD卡)的写入权限。

但是,我可以想象一些方法可以做到这一点,具体取决于你想要做什么。

1)将文件从一个应用程序写入SD卡。让其他人检查它是否存在,并在打开时从中读取。确保将其写入您自己的专有文件夹 - 不要堵塞用户的存储空间。如果适用于您的情况,请在读取文件后从其他应用程序中删除SD卡上的文件和文件夹。

2)在收件人应用程序中注册一个自定义的BroadcastReceiver,并将需要传输的数据粘贴到您将从另一个应用程序发送的Intent中。您应该使用您自己的操作字符串,以便系统中的其他应用程序不会尝试使用您的广播。

+0

谢谢,但这不是另一个应用程序,而是我的应用程序。我可以写入'/ data/data/com.my.app /'下的其他目录 – MByD 2011-03-23 19:59:24