当前位置: 代码迷 >> Android >> android4.4 上File.list()一直为null是咋回事
  详细解决方案

android4.4 上File.list()一直为null是咋回事

热度:69   发布时间:2016-04-28 04:55:08.0
android4.4 上File.list()一直为null是怎么回事?
工作上有个需求是要Intent开系统相册显示指定文件夹里面的图片,在stackoverflow上搜到代码本地运行有问题。问题就是在File.list()的时候返回的string[]是个null.
我把文件操作代码抽出来自己又跑了一次,仍然显示为空。代码如下


public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

File f=Environment.getExternalStorageDirectory();
Log.d("MSG", "absolute path "+ f.getAbsolutePath());
Log.d("MSG", "is dir "+ f.isDirectory());
Log.d("MSG", "is readable "+ f.canRead());
Log.d("MSG", "is writtable "+ f.canWrite());

String[]  fileNames=  f.list();
Log.d("MSG", fileNames==null?"fileNames is null":"fileNames is not null");
for(String string:fileNames){
Log.d("MSG", "file -- "+string);
}

}
}



并且在menifest里面声明了
 <permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></permission>
<permission android:name="android.permission.WRITE_MEDIA_STORAGE"></permission>
两个权限。
输出如下



但是在MX3上(安卓4.2.1)上跑又一切正常

------解决方案--------------------
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>


你权限加错了,是加这个
  相关解决方案