List of usage examples for android.support.v4.content ContentResolverCompat query
public static Cursor query(ContentResolver resolver, Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder, CancellationSignal cancellationSignal)
From source file:cn.tangxb.imageselector.PhotoModelTaskLoader.java
@Override public ArrayList<PhotoModel> loadInBackground() { synchronized (this) { if (isLoadInBackgroundCanceled()) { throw new OperationCanceledException(); }/*ww w .j a va2 s .c o m*/ mCancellationSignal = new CancellationSignal(); } try { Cursor cursor = ContentResolverCompat.query(getContext().getContentResolver(), MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[] { MediaStore.Images.ImageColumns.DATA, MediaStore.Images.ImageColumns.DATE_ADDED, MediaStore.Images.ImageColumns.SIZE }, null, null, MediaStore.Images.ImageColumns.DATE_ADDED, mCancellationSignal); if (cursor != null) { try { // Ensure the cursor window is filled. cursor.getCount(); cursor.registerContentObserver(mObserver); mData = new ArrayList<>(); if (cursor == null || !cursor.moveToNext()) return mData; cursor.moveToLast(); do { if (cursor.getLong(cursor.getColumnIndex(MediaStore.Images.ImageColumns.SIZE)) > 1024 * 10) { PhotoModel photoModel = new PhotoModel(); photoModel.setOriginalPath( cursor.getString(cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA))); mData.add(photoModel); } } while (cursor.moveToPrevious()); } catch (RuntimeException ex) { cursor.close(); throw ex; } } return mData; } finally { synchronized (this) { mCancellationSignal = null; } } }