我们在做类似相册的功能时,需要获取手机中图片,这又是一个非常耗时的操作,不能在主线程中执行,所以需要另开一线程进行,直接上代码:
new Thread(new Runnable() {
@Override
public void run() {
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
ContentResolver contentResolver = getContentResolver();
//获取jpeg和png格式的文件,并且按照时间进行倒序
Cursor cursor = contentResolver.query(uri, null, MediaStore.Images.Media.MIME_TYPE + "=\"image/jpeg\" or " +
MediaStore.Images.Media.MIME_TYPE + "=\"image/png\"", null, MediaStore.Images.Media.DATE_MODIFIED+" desc");
if (cursor != null){
while (cursor.moveToNext()){
//TODO 根据自己的需求处理
}
handler.sendEmptyMessage(0);
}
}
}).start();