始终首先显示相机中的照片

时间:2017-01-16 10:28:12

标签: android camera cursor photos

我有一个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来解决,但我找不到符合我要求的那个。

0 个答案:

没有答案