【发布时间】:2016-05-11 16:18:54
【问题描述】:
我一直在努力解决如何在 Lollipop 上重命名 DocumentFile。 很抱歉,我试图到处搜索解决方案,但网上似乎缺乏有关此新 SD 卡访问 API 的信息。
这是我所拥有的:
String EditText = (Alert_EditText.getText().toString()).trim();
Uri uri = ListViewObject_List.get(LastItemPos).getImageUri();
final DocumentFile documentFile = DocumentFile.fromSingleUri(MainClass.this, uri);
documentFile.renameTo(EditText);
它出现了 UnsupportedOperationException:
FATAL EXCEPTION: main
Process: com.camera.test, PID: 3362
java.lang.UnsupportedOperationException
at android.support.v4.provider.SingleDocumentFile.renameTo(SingleDocumentFile.java:105)
at com.camera.test.MainClass$21.onClick(MainClass.java:986)
at android.view.View.performClick(View.java:5242)
at android.widget.TextView.performClick(TextView.java:10530)
at android.view.View$PerformClick.run(View.java:21185)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6872)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
我也试过这个:
String EditText = (Alert_EditText.getText().toString()).trim();
Uri uri = ListViewObject_List.get(LastItemPos).getImageUri();
File file = new File(uri.getPath());
final DocumentFile documentFile = DocumentFile.fromFile(file);
documentFile.renameTo(EditText);
它似乎什么也没做:没有错误,什么也没发生......
....
.... 我可以使用以下方法删除 DocumentFile:
Uri uri = ListViewObject_List.get(LastItemPos).getImageUri();
final DocumentFile documentFile = DocumentFile.fromSingleUri(MainClass.this, uri);
documentFile.delete();
有人可以看看它,看看我做错了什么吗?
非常感谢您的好意和帮助。
更新:这个uri是
content://com.android.externalstorage.documents/tree/0000-0000%3APictures%2FTest1/document/0000-0000%3APictures%2FTest1%2FMyPicture.jpg
【问题讨论】:
标签: android android-sdcard file-rename android-external-storage