2017-03-08 20 views
0

私はボタンをクリックしてpdfを開こうとしています。ログにはエラーは表示されませんが、ボタンをクリックするたびに、実行ログに「E/tag:Rota.pdf(読み取り専用ファイルシステム)」が表示されます。私は、adbコマンドを使ってファイルシステムを変更しようとしましたが、何もしません。何か案は?読み取り専用ファイルシステムandroid studio

+0

[資産からのファイルの読み込み](http://stackoverflow.com/questions/9544737/read-file-from-assets) – maulik

答えて

0

マニフェストファイルに外部ストレージを読み取る権限が追加されていることを確認します。

<は、Androidの許可使用しています:名= "android.permission.READ_EXTERNAL_STORAGE" />

pdfファイルが配置されている

+0

の複製があります。 "" –

+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 
} 

または

あなたは(あなたのアプリ - ローカルファイルストアのいずれかでSDカードやMODE_WORLD_READABLE上の)ファイルへのURIポインティングでACTION_VIEWの意図を試すことができますし、「アプリケーション/ PDFのMIMEタイプ"

または

あなたは、Androidメーカー、debugに問題があり、ここで有益なログを投稿した場合。

+0

コードが正常であるようです。私のボタンをクリックすることはできますが、何も起こりませんログメッセージは読み取り専用ファイルシステムです。 –

+0

@RyanHunterログにファイルのパスを取得できますか? –

+0

out =新しいFileOutputStream(file.getName());パスを格納します。これをチェックするためにブレークポイントを使用しても問題ありません。 –

関連する問題