要将ACTION_VIEW和Storage Access Framework一起使用,可以按照以下步骤进行操作:
首先,确保已经为应用程序添加了必要的权限:
然后,在你的Activity中添加以下代码来启动Storage Access Framework:
private static final int READ_REQUEST_CODE = 42;
public void openDocument() {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
startActivityForResult(intent, READ_REQUEST_CODE);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent resultData) {
if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
if (resultData != null) {
Uri uri = resultData.getData();
openDocumentWithUri(uri);
}
}
}
private void openDocumentWithUri(Uri uri) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
}
以上代码中,openDocument()方法用于启动Storage Access Framework来选择要打开的文件。onActivityResult()方法会在用户选择文件后被调用,获取选定文件的Uri,并调用openDocumentWithUri()方法打开文件。
最后,你可以在需要打开文件的地方调用openDocument()方法:
openDocument();
这样,当用户选择一个文件后,将会调用openDocumentWithUri()方法来打开选定的文件。