我有一个CursorLoader用于加载照片供选择:
public class PhotoDirectoryLoader extends CursorLoader {
final String[] IMAGE_PROJECTION = {
Media._ID,
Media.DATA,
Media.BUCKET_ID,
Media.BUCKET_DISPLAY_NAME,
Media.DATE_ADDED,
Media.TITLE
};
public PhotoDirectoryLoader(Context context, boolean showGif) {
super(context);
setProjection(IMAGE_PROJECTION);
setUri(Media.EXTERNAL_CONTENT_URI);
setSortOrder(Media.DATE_TAKEN + " DESC");
setSelection(
MIME_TYPE + "=? or " + MIME_TYPE + "=? or "+ MIME_TYPE + "=? " + (showGif ? ("or " + MIME_TYPE + "=?") : ""));
String[] selectionArgs;
if (showGif) {
selectionArgs = new String[] { "image/jpeg", "image/png", "image/jpg","image/gif" };
} else {
selectionArgs = new String[] { "image/jpeg", "image/png", "image/jpg" };
}
setSelectionArgs(selectionArgs);
}
private PhotoDirectoryLoader(Context context, Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
super(context, uri, projection, selection, selectionArgs, sortOrder);
}
}
问题是,如果我在相机上拍照,我会在列表顶部看到相机拍摄的照片。但是当我拍摄截图时,屏幕截图会从相机上方的照片上方跳过,我希望将相机中的照片保持在最顶层。
我想这可以通过正确设置setSortOrder来解决,但我找不到符合我要求的那个。