我想打开一个目录,之后我应该选择一个文件然后将其删除。这是我打开目录的代码:
public void openDirectory() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath() + "/drugdiy/doc");
intent.setDataAndType(uri, "*/*");
startActivityForResult(Intent.createChooser(intent, "Open folder"), 0);
}
我遇到如何将uri
传递给onActivityResult
以便我可以将其删除?
public void onActivityResult(int requestCode, int resultCode, Intent data){
switch (requestCode) {
case 0: {
Uri uri =
File file = new File(uri.getPath());
file.delete();
}
}
}
答案 0 :(得分:0)
首先,如果您阅读the documentation for ACTION_GET_CONTENT
,您会看到:
输入:getType()是要检索的所需MIME类型。 请注意,intent中没有提供URI,因为对返回的数据最初来自何处没有限制。
(强调补充)
因此,您的第一个代码段将适用于少数设备。
其次,ACTION_GET_CONTENT
不必向您返回文件,更不用说您可以删除的文件了。
There are many file-picker libraries available for Android。用一个。他们应该为您提供File
,然后您可以在delete()
上致电File
。