2011-03-23 183 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