2015-07-21 41 views
1

開始學習Java和應用程序開發。我試圖用硬編碼的路徑顯示一張圖片。我得到了一個錯誤告訴我,有必要的權限丟失:權限被拒絕以便從Android內部存儲加載圖像

無法解碼流:java.io.FileNotFoundException:/storage/emulated/0/media/logo.jpg:打開失敗:EACCES (拒絕)

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.snwflake22.helloworld" > 
    <uses-permission android:name="ANDROID.PERMISSION.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="ANDROID.PERMISSION.WRITE_EXTERNAL_STORAGE"/> 
    <application 
    (...) 
    </application> 
</manifest> 

本身看起來像這樣的功能:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    File image = new File(Environment.getExternalStorageDirectory()+"/media/", "logo.jpg"); 
    BitmapFactory.Options bmOptions = new BitmapFactory.Options(); 
    Bitmap bitmap = BitmapFactory.decodeFile(image.getAbsolutePath(), bmOptions); 
    ImageView imageView = (ImageView) findViewById(R.id.imageView); 
    imageView.setImageBitmap(bitmap); 
} 

我還需要設置什麼其他權限來訪問存儲?或媒體文件夾?

+0

小盤股還有你沒有使用你的''onCreate' setContentView'。與權限錯誤無關,但您需要先解決該問題。 –

+0

@MatterCat它可能是一個服務或片段 – Sheychan

+0

如果他們剛剛開始,它很可能是一個活動。不過,我認爲這很公平。 –

回答

2

使用上ANDROID.PERMISSION

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
+0

爲我解決了它,謝謝。 android studio的完成使它完全大寫。 – snwflake