Android MediaScanner的Uri导致外部库打开不正确的视频文件

Android MediaScanner的Uri导致外部库打开不正确的视频文件,android,video,android-intent,android-gallery,android-mediascanner,Android,Video,Android Intent,Android Gallery,Android Mediascanner,我有一个生成视频的应用程序。生成视频文件后,我使用MediaScanner获取最近创建的视频的Uri。然后我在ACTION\u视图中传递这个Uri。在某些设备上,这可以正常工作,但在其他设备上,随后使用两个不同的视频激活会导致混合-第二个动作视图会导致Gallery应用程序再次播放第一个视频 我们在应用程序中还有一个“共享”选项,可以生成一个具有相同Uri的ACTION\u发送意图。这种意图的接受者似乎都没有重复这种错误行为 以下是激活MediaScanner的方式: MediaScan

我有一个生成视频的应用程序。生成视频文件后,我使用MediaScanner获取最近创建的视频的Uri。然后我在ACTION\u视图中传递这个Uri。在某些设备上,这可以正常工作,但在其他设备上,随后使用两个不同的视频激活会导致混合-第二个动作视图会导致Gallery应用程序再次播放第一个视频

我们在应用程序中还有一个“共享”选项,可以生成一个具有相同Uri的ACTION\u发送意图。这种意图的接受者似乎都没有重复这种错误行为

以下是激活MediaScanner的方式:

    MediaScannerConnection.scanFile(context, new String[] { path }, null,
    new MediaScannerConnection.OnScanCompletedListener() {
      public void onScanCompleted(String path, Uri uri) {
        result = uri;
        scanFinished.signal();
      }
    });
以下是我创建视图意图的方式:

    Intent viewIntent = new Intent(Intent.ACTION_VIEW);
    viewIntent.setDataAndType(uri, "video/*");

感谢您提供的任何提示

您是否查询了(MediaStore.Video.Media#EXTERNAL_CONTENT_URI,…),是否正确?是的,我查询了。从应用程序来看,这似乎完全正确。就好像在进程边界之外有一个缓存。因此,如果它是正确的,那么您很可能将错误的
Uri
传递给
setDataAndType
,我验证了好几次:-(此外,我将相同的Uri传递给ACTION\u SEND intent,在那里我没有遇到相同的问题,因此我很确定这不是问题。。