2017-03-08 174 views
0

我試圖打開PDF按鈕單擊。沒有錯誤彈出在日誌中,但每次我點擊按鈕,我會在運行日誌中得到「E/tag:Rota.pdf(只讀文件系統)」。我試過使用adb命令更改文件系統,並且什麼都不做。有任何想法嗎?只讀文件系統android studio

+0

可能重複[從資產中讀取文件](http://stackoverflow.com/questions/9544737/read-file-from-assets) – maulik

回答

0

檢查您是否在清單文件中添加了讀取外部存儲的權限。

<使用許可權的android:NAME = 「android.permission.READ_EXTERNAL_STORAGE」/>

哪裏是pdf文件在什麼位置?

+0

我有「<使用權限android:name =」android.permission。 READ_EXTERNAL_STORAGE「/>」 –

+0

它位於資產文件夾 –

0

5月this可能對您有所幫助。

如果打開PDF文件時出現問題,請嘗試下面的代碼。

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +"/"+ filename); 
Intent target = new Intent(Intent.ACTION_VIEW); 
target.setDataAndType(Uri.fromFile(file),"application/pdf"); 
target.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 

Intent intent = Intent.createChooser(target, "Open File"); 
try { 
    startActivity(intent); 
} catch (ActivityNotFoundException e) { 
// Cathc exception here 
} 

你可以嘗試用URI指向文件(無論是在您的應用程序,本地文件存儲在SD卡或MODE_WORLD_READABLE上)的ACTION_VIEW意圖和MIME類型「application/PDF的」。

如果你有過Android Studio,debug和後有用的日誌這裏有一個問題。

+0

代碼似乎很好。我可以點擊我的按鈕,但沒有任何反應,我得到的唯一日誌消息是隻讀文件系統 –

+0

@RyanHunter你可以在日誌中獲取文件的路徑嗎? –

+0

out = new FileOutputStream(file.getName());存儲路徑。使用斷點來檢查這一點,這很好 –

相關問題