2012-11-04 40 views
1

一年前,我提出申請,我用這個代碼的網頁下載到本地文件,然後在瀏覽器中打開的意圖是:Android的意圖和MODE_PRIVATE

FileOutputStream fos = openFileOutput("summary.html", Context.MODE_PRIVATE); 
fos.write(msg.obj.toString().getBytes()); 
fos.close(); 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setDataAndType(Uri.fromFile(getFileStreamPath("summary.html")),"text/html"); 
startActivity(i); 

和它的工作的時間。現在我不得不再次拿起應用程序,這不再起作用。 在瀏覽器窗口的意圖,我得到不可
該網頁在文件

網頁:// ....無法加載(等等等等)

我仍然使用我在開頭(2.1)中所做的相同的Android版本運行,所以它與部署的操作系統版本無關。但是從那以後SDK已經更新了,可能有些改變了?

如果我從MODE_PRIVATE切換到MODE_WORLD_READABLE它的工作原理,但與相同的用戶ID並不意圖運行方式調用應用程序?

任何選項關於如何做到這一點,並保留文件在MODE_PRIVATE

還有什麼信息可能會改變這種情況發生?我用Google搜索,並沒有發現什麼...

回答

0

而且它的時候

工作,我發現很難相信。

但是從那時起SDK已經更新了,可能有些改變了?

不,應用程序總是在自己的進程中運行,並擁有自己的用戶標識,因此沒有其他應用程序可以訪問您的文件MODE_PRIVATE

如果我從MODE_PRIVATE切換到MODE_WORLD_READABLE它可以工作,但是沒有與調用應用程序時使用相同的userid運行的意圖?

不,對於您的短語「intent run」的任何可能的定義。每個應用都在自己的用戶ID下運行。

有關如何做到這一點,並保持該文件在MODE_PRIVATE的任何選項?

自己在WebView中顯示。

+0

詢問後,繼續瀏覽文件的git歷史記錄,並在某些時候有人從MODE \ _WORLD \ _READABLE更改爲MODE \ _PRIVATE,因此確實沒有_PRIVATE_。無論如何,我會留下問題,因爲我認爲瀏覽器進程可以與調用應用程序用戶標識一起運行。謝謝 –