2017-02-09 71 views
0

我試圖讓現有的手機的圖片文件夾中的文件列表中使用此(內部存儲,SD卡沒有插入)返回null爲空。 我也提前將它添加到AndroidManifest.xml中File.listFiles當它不應該

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

任何想法,我將非常感激,感謝。

+0

'檔案文件=新的文件(將String.valueOf(環境。 getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getAbsoluteFile()));'。這是可怕的代碼。更改爲'File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);' – greenapps

+0

使用您的代碼,file.getAbsolutePath()的值是什麼? – greenapps

+0

該目錄是否包含文件? – greenapps

回答

0

它返回null作爲​​將應該處理來自外部存儲文件,比如SD card..as你,說明沒有插入SD卡

+0

確實來自外部存儲器。但從來沒有從SD卡。 – greenapps

+0

什麼是你的要求.. ??我假設你想要從內部存儲器列出圖片假設你沒有提到SD卡 – Akshay

+0

功能名稱sais它的一切:從外部存儲。 – greenapps

0

由於阿布舍克雅利安人的建議,我現在用的Android SDK> = 23,所以我不得不使用代碼來獲取權限:

boolean grantedAll = ContextCompat.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED; 
if (!grantedAll) 
    { 
    ActivityCompat.requestPermissions(thisActivity, 
      new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 
      REQUEST_PERMISSIONS); 
    }