我們在做類似相冊的功能時,需要獲取手機中圖片,這又是一個非常耗時的操作,不能在主線程中執行,所以需要另開一線程進行,直接上代碼:
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();