2012-06-09 55 views
1

我們已經建造了用於收集數據(統計排球)的Android應用程序。此應用程序創建一個數據文件,我們最終希望將其傳輸到臺式計算機(Windows PC和Macintoshes)。訪問應用程序私有目錄MODE_WORLD_READABLE文件在Android設備上

目前,我們寫出來的數據爲默認應用程序目錄(數據/數據/應用程序名稱/文件)的簡單字符流,並指定MODE_WORLD_READABLE當我們創建這些數據文件。

的問題是,即使數據文件MODE_WORLD_READABLE,我們希望各種工具用來傳送數據無法看到的數據文件。我認爲問題在於他們可能具有對文件的讀取權限,但他們沒有對存儲文件的目錄的讀取權限。具體地講,我無法瀏覽到使用Android設備上的ES文件瀏覽器應用程序中的文件,我不能當我我的Android設備連接到PC或Macintosh的USB設備瀏覽到該文件。

是我將文件寫入到外部目錄的唯一的解決辦法,或者是有什麼我這裏缺少有關使用MODE_WORLD_READABLE與應用程序目錄?

+0

這是不能接受我們的軟件需要有根的設備(如一個原則問題,也因爲我們不能賣它是這樣)。這也不是我們想要建立「內容提供者」的情況,因爲我們實際上想要將數據傳輸到臺式機/筆記本電腦系統。我們使用getExternalStoragePublicDirectory返回的目錄路徑解決了這個問題。這些文件夾中的文件是普遍可訪問的,並且是我們意識到的我們問題的最佳解決方案。 –

回答

0

目前,我們寫出來的數據作爲 默認應用程序目錄(數據/數據/應用程序名稱/文件)的簡單字符流,並指定 MODE_WORLD_READABLE當我們創建這些數據文件。

AFAIK您無法從應用程序沙箱訪問文件(即/data/data/appname/files)。如果可能,您可能永遠不會使用內容提供程序。

我在這裏看到的唯一的解決辦法是你想達到什麼是唯一可能在解鎖裝置

+0

然後是什麼使用'MODE_WORLD_READABLE'標誌? –

1

爲應用程序根目錄(通常類似於/data/data/com.package.app)的文件訪問模式和頂部目錄中它( databasesfilescache,...)是rwxrwx--x。對於除應用程序本身以外的其他用戶,相關部分是--x,這表示目錄不能被讀取(瀏覽),但可以遍歷它們。所以你可以閱讀MODE_WORLD_READABLE文件,如果你確切地知道你在找什麼(完整的路徑)。

相關問題