已删除的视频显示在 Android Studio 代码的视频播放器中

Posted

技术标签:

【中文标题】已删除的视频显示在 Android Studio 代码的视频播放器中【英文标题】:Deleted Video Is Showing in Video Player in Android Studio Code 【发布时间】:2019-12-29 18:50:11 【问题描述】:

我正在 android Studio 中创建视频播放器并使用视频视图。 但我在这里面临一个问题 假设我手机上有 5 个视频,那么所有视频都在显示。 但是当我从手机中删除 1 个视频时。即使我重新启动我的应用程序,它仍然可见电话 这是App的截图 当我的手机上有 5 个视频时 Click Here 当我删除一个视频时 Click Here 代码我如何从内部卡和 SD 卡访问文件

public void getFile(File directtory) 
        File[] listFile = directtory.listFiles();
        if (listFile != null && listFile.length > 0) 
            for (File file : listFile) 
                if (file.isDirectory()) 
                    getFile(file);
                 else 
                    permission = false;
                    if (file.getName().endsWith(".mp4") || file.getName().endsWith(".mkv")  )


                    
                        for (int j = 0; j < list.size(); j++) 
                            if (list.get(j).getName().equals(file.getName())) 
                                permission = true;
                            
                        
                        if (permission) 
                            permission = false;
                         else 
                            list.add(file);
                        
                    
                
            
        

【问题讨论】:

【参考方案1】:

是的,因为您的文件已从存储中删除,但未从 android 媒体存储中删除。使用以下函数从媒体存储中删除视频文件。

public static void scanDeletedMedia(Context context, File file) 
    if (SDK_INT >= 19) 
        context.getContentResolver().delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, MediaStore.Video.Media.DATA + "= ?", new String[]file.getAbsolutePath());
     else 
        context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.fromFile(file)));
    

【讨论】:

你在不同的设备上遇到过同样的问题吗? 是的,我面临同样的问题

以上是关于已删除的视频显示在 Android Studio 代码的视频播放器中的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio:如何从自动完成中重新包含已排除的库?

android studio 4.2 无法安装android sdk

项目已包含具有此名称的模块 - Android Studio

android studio模拟器无法播放视频

为啥 Android Studio 总是在应用设计中显示 ActionBar,即使已禁用?

Android Studio - 如何避免 VideoView 溢出其(视图)容器?