当用户在我的应用程序中拍照时,图像将保存在内部存储器中。我还允许将它们移动到外部存储器中,这样他们就可以通过将设备插入计算机并从那里获取它们。我会通过以下方式实现:
当用户在我的应用程序中拍照时,图像将保存在内部存储器中。我还允许将它们移动到外部存储器中,这样他们就可以通过将设备插入计算机并从那里获取它们。
当用户在我的应用程序中拍照时,图像将保存在内部存储器中。我还允许将它们移动到外部存储器中,这样他们就可以通过将设备插入计算机并从那里获取它们。
val tempDir = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "My_App_Folder")
val baseFile = File(filePath)
if(baseFile.exists()){
val targetFile = File(directory.path+File.separator+targetFileName)
baseFile.copyTo(targetFile)
baseFile.delete()
}
我希望图片保存在文件夹中
现在尝试切换到以支持,但不确定如何将文件保存到同一文件夹中。
我已经尝试过:
val values:ContentValues = ContentValues()
values.put(MediaStore.Images.Media.MIME_TYPE,"image/jpg")
values.put(MediaStore.Images.Media.DATE_ADDED,System.currentTimeMillis() / 1000)
values.put(MediaStore.Images.Media.TITLE, targetFileName)
values.put(MediaStore.Images.Media.DISPLAY_NAME, targetFileName)
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){
values.put(MediaStore.Images.Media.DATE_TAKEN,System.currentTimeMillis())
values.put(MediaStore.Images.Media.RELATIVE_PATH, Environment.DIRECTORY_PICTURES+"/My_App_Folder")
uri = contentResolver.insert(MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL),values)
}else{
uri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values)
}
但现在那个文件夹里什么也没有,我感觉在使用MediaStore时缺少了一些基础知识,不确定具体是什么。
ContentResolver#openOutputStream()
,然后将你的baseFile
写入其中。 - Mike M.