2011-09-23 84 views
1

我在SD卡上有一個doc文件。如何設置文件權限 - Android

我想以只讀模式打開它。另外我不希望文檔查看器保存文件。

打開該文件的目的如下:

Intent intent = new Intent(); 
intent.setAction(android.content.Intent.ACTION_VIEW); 
File file = new File("/sdcard/test.doc"); 
file.setReadOnly(); 
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 
intent.setDataAndType(Uri.fromFile(file), "application/msword"); 
startActivity(intent); 

但是當文件在Quickoffice打開,文件仍然是可編輯的。

請建議我應該如何使文件準備好 - 僅限於任何文檔查看器,以及如何防止文件保存。

回答

1

這可能是因爲你的應用沒有root權限。文件權限只能通過root訪問進行更改。

+0

我正面臨一個奇怪的問題。我在android 2.3和Android3.0中運行相同的代碼(上面提到過)。在2.3中,沒有設置只讀標誌的效果。但在3.0中,文件以只讀模式打開。即我無法編輯3.0中安裝的quickoffice中的文件。這怎麼可能。 – Manish

+0

我從來沒有嘗試過3.0,但我遇到了2.2和2.3中的相同問題,原因可能是我上面提到的。在3.0中,他們必須刪除根訪問要求。 –