所以我用这段代码将图像保存到设备:
Intent intentSaveToDevice = new Intent(Intent.ACTION_CREATE_DOCUMENT)
.addCategory(Intent.CATEGORY_OPENABLE)
.setType("image/*")
.putExtra(Intent.EXTRA_TITLE, model.StuffName);
startActivityForResult(intentSaveToDevice, StuffdApp.REQUEST_CODE_SAVE_SAF);
它工作正常,但图片会在没有*.jpg
或*.png
扩展名的情况下保存。
所以我尝试了这个:
.putExtra(Intent.EXTRA_TITLE, model.StuffName+".jpg");
这似乎工作正常。除了有重复文件的时候,我得到了这个:
mysavedimage.jpg(1)
代替mysavedimage(1).jpg
(1)自动附加SAF,但位置错误。试过android 4.4和5.
还尝试将.setType("image/*")
更改为不同的jpg变体,但这没有帮助。
在SAF中处理文件扩展名的正确方法是什么?具体来说,如何在保存重复文件时获得正确的扩展名?