类 MediaStoreUtil

    • 方法详细资料

      • exist

        public static Uri exist​(Context context,
                                String mimeType,
                                String appDir,
                                String fileName)
        Android Q及以上,判断在 MediaStore 中,文件是否已存在
        参数:
        context - Context
        mimeType - 文件的mime,比如:audio/*、video/*、image/*
        fileName - 绝对文件路径
        返回:
        Uri -
      • triggerScanMediaStore

        public static void triggerScanMediaStore​(Context context,
                                                 @NonNull
                                                 Uri fileUri,
                                                 @Nullable
                                                 String filePath)
        触发扫描媒体库
        参数:
        context - Context
        fileUri - 文件 Uri,不可为null
        filePath - 文件路径,Android Q及以上版本时,可为null
      • getImageIns

        public static List<InputStream> getImageIns​(Context context,
                                                    String name)
        name是文件名称,是MediaStore查找文件的条件之一
        参数:
        context - Context
        name - 文件名
        返回:
        List -
      • copyPrivateToSharedStorage

        public static void copyPrivateToSharedStorage​(@NonNull
                                                      Context context,
                                                      @NonNull
                                                      String mimeType,
                                                      @NonNull
                                                      String orgFilePath,
                                                      @Nullable
                                                      String appDir,
                                                      @Nullable
                                                      String displayName)
        复制沙盒私有文件到公共存储目录下
        参数:
        context - Context
        mimeType - 文件的 mime type
        orgFilePath - 是要复制的文件私有目录路径
        appDir - APP私有目录
        displayName - 复制后文件要显示的文件名称带后缀(如xx.txt)
      • getImageContentValues

        public static ContentValues getImageContentValues​(File paramFile,
                                                          long paramLong)
        获取 图片 ContentValue
        参数:
        paramFile - File
        paramLong - 时间
        返回:
        ContentValues
      • saveImgToSystemAlbum

        public static boolean saveImgToSystemAlbum​(Context context,
                                                   String imageFile)
        将图片保存到系统图库
        参数:
        context - Context
        imageFile - 有效的文件路径
      • saveVideoToSystemAlbum

        public static boolean saveVideoToSystemAlbum​(Context context,
                                                     String videoFile)
        将视频保存到系统图库
        参数:
        context - Context
        videoFile - 有效的 video file path
      • getSubPackageNameAsDir

        public static String getSubPackageNameAsDir​(Context context)
        截取包名的最后一级目录,SDK作为不同APP创建目录的区分
        参数:
        context - Context
        返回:
        String 包名的最后一级目录,可能为 null
      • getAppSpecificMovieStorageDir

        @Nullable
        public static File getAppSpecificMovieStorageDir​(Context context,
                                                         String... appDirs)
        媒体内容,应用专属Movie目录
        参数:
        context - Context
        appDirs - 自己APP的指定专有Movies目录
        返回:
        File - 目录
      • getAppSpecificAlbumStorageDir

        @Nullable
        public static File getAppSpecificAlbumStorageDir​(Context context,
                                                         String... appDirs)
        媒体内容,应用专属外部存储Picture目录
        参数:
        context - Context
        appDirs - 自己APP的指定专有picture目录,变长参数的每个元素都是一级目录
        返回:
        File - 目录
      • getAppSpecificMusicStorageDir

        @Nullable
        public static File getAppSpecificMusicStorageDir​(Context context,
                                                         String... appDirs)
        应用专属外部存储music目录
        参数:
        context - Context
        appDirs - 自己APP的指定专有music目录,变长参数的每个元素都是一级目录
        返回:
        File - 目录
      • insertExistFileIntoMediaStore

        public static void insertExistFileIntoMediaStore​(@NonNull
                                                         Context context,
                                                         @Nullable
                                                         String title,
                                                         @NonNull
                                                         String filePath,
                                                         @NonNull
                                                         String mimeType)
        把一个已存在的媒体文件插入媒体库
        参数:
        context - Context
        title - 可为null or 空字符串,如果为空,则以 "ts-" + fileName作为 title
        filePath - 文件路径
        mimeType - "video/mp4","audio/mp3","image/jpg"……
      • scopeStorage

        @Deprecated
        public static void scopeStorage​(Context context,
                                        String filePath,
                                        String mimeType)
        已过时。
        此方法未完成,请不要使用
        参数:
        context - Context
        filePath - 有效文件路径
        mimeType - Mime_Type
      • existV28

        public static Uri existV28​(Context context,
                                   String mimeType,
                                   String filePath)
        Android Q以下版本,查询媒体库中当前路径是否存在
        参数:
        context - Context
        mimeType - 文件的mime,比如:audio/*、video/*、image/*
        filePath - 文件绝对路径
        返回:
        Uri - null 表示不存在
      • copyFile

        public static boolean copyFile​(String oldPath,
                                       OutputStream out)
        从指定文件path向一个 输出流 OutputStream 输出,实现 copy
        参数:
        oldPath - 数据源文件路径
        out - 输出stream
        返回:
        boolean - 是否copy成功