代码之家  ›  专栏  ›  技术社区  ›  Mouaad Abdelghafour AITALI

在Android Q上刷新图库

  •  0
  • Mouaad Abdelghafour AITALI  · 技术社区  · 6 年前

    使用将视频保存到内部存储器后 getExternalFilesDir “文件资源管理器应用程序”>“视频”>,从菜单(显示内部存储) :

    enter image description here

    但我在画廊里找不到。

    创建路径:

    private void getPath() {
            String videoFileName = "vidoe_" + System.currentTimeMillis() + ".mp4";
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
                File imageFile = null;
                File storageDir = new File(getExternalFilesDir(Environment.DIRECTORY_MOVIES),
                        "folder");
                boolean success = true;
                if (!storageDir.exists()) {
                    success = storageDir.mkdirs();
                }
                if (success) {
                    imageFile = new File(storageDir, videoFileName);
                    savedVideoPath = imageFile.getAbsolutePath();
                }
    
            } else {
                File storageDir = new File(
                        Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)
                                + "/folder");
                boolean success = true;
                if (!storageDir.exists()) {
                    success = storageDir.mkdirs();
                }
                if (success) {
                    File videoFile = new File(storageDir, videoFileName);
                    savedVideoPath = videoFile.getAbsolutePath();
                }
            }
        }
    

    刷新库:

     private void galleryRefresh(String savedVideoPath) {
            Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
            File f = new File(savedVideoPath);
            Uri contentUri = Uri.fromFile(f);
            mediaScanIntent.setData(contentUri);
            sendBroadcast(mediaScanIntent);
        }
    
    0 回复  |  直到 6 年前