dji-sdk / Mobile-SDK-Android-V5

MSDK V5 Sample
Other
282 stars 146 forks source link

媒体库数据列表返回顺序错误,以及拍照后回调onUpdate时数据不更新 #94

Closed doncc closed 1 year ago

doncc commented 1 year ago

问题描述: 1.发现偶现错误如图【图片数据错位】,本次图片数据,在数据列表内位置错误; 2.当拍照后,根据文档描述,onUpdate回调会被激活,但getMediaFileListData().getData()的数据不是最新数据。 文档链接:https://developer.dji.com/cn/api-reference-v5/android-api/Components/IMediaDataCenter/IMediaManager_MediaFileListStateListener.html?search=mediafileliststatelistener&i=0&#imediamanager_mediafileliststatelistener_onupdate_inline

问题复现频率: 偶现。

影响设备: M30

MSDK版本: v5.2.0

复现步骤: 1.下载图片前,使用 MediaDataCenter.getInstance().getMediaManager().pullMediaFileListFromCamera(new PullMediaFileListParam.Builder().mediaFileIndex(-1).count(-1).build(),xxx); 获取全部图片数据

  1. MediaFileListStateListener的onUpdate(MediaFileListState mediaFileListState)回调内,当mediaFileListState==MediaFileListState.UP_TO_DATE时,重新通过mediaManager.getMediaFileListData().getData()获取最新图片数据;

临时解决方案: 目前只能通过自我重排序修复。

论坛地址: https://sdk-forum.dji.net/hc/zh-cn/requests/80138?page=1

伪代码:

MediaDataCenter.getInstance().getMediaManager().pullMediaFileListFromCamera(
    new PullMediaFileListParam.Builder().mediaFileIndex(-1).count(-1).build(), xx
    ); 

private final MediaFileListStateListener mediaFileListStateListener = new MediaFileListStateListener() { 
    @Override 
    public void onUpdate(MediaFileListState mediaFileListState) { 
        if (mediaFileListState == MediaFileListState.UP_TO_DATE) { 
            list = mediaManager.getMediaFileListData().getData(); 
        } 
    } 
}

图片数据错位

dji-dev commented 1 year ago

Agent comment from yating.liao in Zendesk ticket #80144:

1.发现偶现错误如图【图片数据错位】,本次图片数据,在数据列表内位置错误; -->我没有复现到第一个问题,SD卡里的照片都是这台相机拍摄的吗?

2.当拍照后,根据文档描述,onUpdate回调会被激活,但getMediaFileListData().getData()的数据不是最新数据。 文档链接:https://developer.dji.com/cn/api-reference-v5/android-api/Components/IMediaDataCenter/IMediaManager_MediaFileListStateListener.html?search=mediafileliststatelistener&i=0&#imediamanager_mediafileliststatelistener_onupdate_inline -->这个问题复现到了,我会去再确定一下逻辑。通过pullMediaFileListFromCamera就可以获取到最新的文件列表。

°°°

doncc commented 1 year ago

1.我没有复现到第一个问题,SD卡里的照片都是这台相机拍摄的吗? -->是的,确实都是这台相机拍摄的。复现概率不高,但确实遇到一次。目前通过重排序能规避。

dji-dev commented 1 year ago

Agent comment from yating.liao in Zendesk ticket #80144:

第二个问题已经提交给研发进行评估和处理了了,之后我会在这里及时同步问题的动态给你。

°°°

doncc commented 1 year ago

收到。非常感谢

dji-dev commented 1 year ago

Agent comment from ekho.feng in Zendesk ticket #80144:

拍照后媒体列表状态没变为up_to_date,通过getMediaFileListData.getData读取文件列表大小没更新的问题已经修复。预计在5.5.0版本进行发布。

°°°

doncc commented 1 year ago

非常感谢