我想列出目录中的所有图像以制作画廊。下面的示例使用 Intent 获取目录路径。
我已经尝试过该listFiles()方法,但它返回 null。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Permision Request
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
1);
initialize();
}
//For the Intent to get Folder
private void initialize() {
Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
i.addCategory(Intent.CATEGORY_DEFAULT);
startActivityForResult(Intent.createChooser(i, "Choose directory"), 9999);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(requestCode) {
case 9999:
//File myFile = new File(data.getData().toString());
String path = data.getData().toString();
//View the path
Log.i("Test", "Result URI " + path);
Toast.makeText(getApplicationContext(), "Result URI " +data.getData().toString(), Toast.LENGTH_LONG).show();
//Creating new File for the directory
File directory = new File(path);
File[] files = directory.listFiles();
Log.d("Files", "Size: "+ files.length);
for (int i = 0; i < files.length; i++)
{
//Show the name of the files in the directory
Log.d("Files", "FileName:" + files[i].getName());
}
break;
}
}
在清单中我也有读取外部存储的权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
泛舟湖上清波郎朗
相关分类