在Android中,可以使用以下代码示例来解决问题:
private static final int REQUEST_CREATE_DOCUMENT = 1;
private static final String MIME_TYPE_TEXT_PLAIN = "text/plain";
public void createDocument() {
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.setType(MIME_TYPE_TEXT_PLAIN);
intent.putExtra(Intent.EXTRA_TITLE, "my_file.txt");
// 设置初始文件夹路径为DCIM
intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, REQUEST_CREATE_DOCUMENT);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CREATE_DOCUMENT && resultCode == RESULT_OK) {
Uri uri = data.getData();
// 在这里处理创建文件后的逻辑
}
}
在上面的代码中,使用Intent.ACTION_CREATE_DOCUMENT
来创建文档,MIME_TYPE_TEXT_PLAIN
指定了文件的MIME类型为纯文本类型。Intent.EXTRA_TITLE
用于指定文件的名称。
为了设置初始文件夹路径为DCIM文件夹,使用DocumentsContract.EXTRA_INITIAL_URI
来设置初始URI。在这个示例中,我们使用了MediaStore.Images.Media.EXTERNAL_CONTENT_URI
,它表示系统中的DCIM路径。
你也可以将MediaStore.Images.Media.EXTERNAL_CONTENT_URI
替换为DocumentsContract.buildDocumentUri(authority, dirId)
,其中authority
是文件提供者的授权字符串,dirId
是初始文件夹的ID。
在onActivityResult
方法中,可以获取到创建的文件的URI,然后进行后续的文件处理逻辑。