zhihu / Matisse

:fireworks: A well-designed local image and video selector for Android
Apache License 2.0
12.52k stars 2.07k forks source link

排序与系统相册不一致 #858

Closed erleizh closed 2 years ago

erleizh commented 3 years ago

https://github.com/zhihu/Matisse/blob/21591aebe73a56435d84afc7b5cd50ea7ae2a6b8/matisse/src/main/java/com/zhihu/matisse/internal/loader/AlbumMediaLoader.java#L123

在某些手机上,相册里面的排序有问题,新增一张图片但是排在最后面 ,例如小米9

貌似无人维护了,不过还是贴在这里一个解决方案吧

    //https://android.googlesource.com/platform/packages/apps/Gallery/+/refs/heads/android10-mainline-a-release/src/com/android/camera/gallery/BaseImageList.java
    // 列表首先按日期排序,然后按 id 排序。
    // 日期是从“datetaken”列中获取的。 但如果它为空,
    // 改为使用“date_modified”列。
    public static final String ORDER_BY =
            "case ifnull(" + MediaStore.Images.Media.DATE_TAKEN + ",0)" +
                    " when 0 then " + MediaStore.Images.Media.DATE_MODIFIED + "*1000" +
                    " else " + MediaStore.Images.Media.DATE_TAKEN +
                    " end" + " DESC , " + MediaStore.Images.ImageColumns._ID + " DESC";
bailyzheng commented 2 years ago

按此方法已解决我的问题

itsscdachao commented 2 years ago

此方法可以解决

hxkdidi commented 2 years ago

华为HONOR 50 安卓11 不起作用

kongnanlive commented 1 year ago

华为HONOR 50 安卓11 不起作用

解决了吗?