【问题标题】:How can I rename a video gotten from android mediastore?如何重命名从 android mediastore 获取的视频?
【发布时间】:2021-09-16 16:36:20
【问题描述】:

如何重命名从 mediastore 获取的视频而不删除或损坏它?

我尝试使用从类似问题中获得的此代码,但它会删除或损坏我更改名称的视频。

String title = editTextTitle.getText().toString().trim(); 
video.setTitle(title);
File parentFile = videoFile.getParentFile();
if (parentFile != null) {
String path = parentFile.getAbsolutePath(); 
String extension = videoFile.getAbsolutePath(); extension = extension.substring(extension.lastIndexOf(".")); 
String newPath = path + "/" + title + extension; 
File newFile = new File(newPath); 
boolean rename = videoFile.renameTo(newFile); if (rename) {
ContentResolver resolver = context.getContentResolver(); resolver.delete(MediaStore.Files.getContentUri("external"), MediaStore.MediaColumns.DATA + "=?", new String[]{videoFile.getAbsolutePath()}); 
Toast.makeText(context, "renamed", Toast.LENGTH_SHORT). show(); 
  } 
}

【问题讨论】:

  • 为什么新文件中有“/”?你没有重命名你的文件,如果你弄乱了路径,你基本上想把它移动到某个地方。要重命名文件,只需更改文件名,而不是整个路径
  • 先生,您是否建议我从新路径名中删除斜杠?
  • 是的,否则请发布原始文件名和新文件名的示例。就像您正在尝试做的事情一样
  • 所以应该是“路径+标题+扩展名;”?如先生所说,我只想重命名视频。
  • 它不起作用,实际上原始方法似乎很直观。例如,原始文件路径可能是/Storage/downloads/videos/The Amazing Spiderman,绝对文件路径是/Storage/downloads/videos。原代码的新路径是绝对文件路径+新名称+扩展名。

标签: java android mediastore


【解决方案1】:

终于解决了

textViewRename.setOnClickListener(v1 -> { String title = editTextTitle.getText().toString().trim(); video.setTitle(title);
String extension = videoFile.getAbsolutePath(); extension = extension.substring(extension.lastIndexOf("."));
ContentValues values = new ContentValues(2); values.put(MediaStore.Video.Media.TITLE, title);
values.put(MediaStore.Video.Media.DISPLAY_NAME, title + extension );
context.getContentResolver().update(MediaStore.Video.Media. EXTERNAL_CONTENT_URI, values,
MediaStore.MediaColumns.DATA + "=?", new String[]{videoFile. getAbsolutePath()});
if (videoOptionListener != null) { videoOptionListener.onEdit();
} dialogRenameVideo.dismiss(); });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    • 2014-08-25
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    相关资源
    最近更新 更多