我想在android
中打开一个文件。我想做的是,如果文件的类型是Image
,那么我想打开包含可以查看图像的应用程序的Intent Chooser
,如果它是视频类型,那么打开包含可以观看视频的应用程序在内的Intent Chooser。我怎样才能做到这一点?
我找到了一个解决方案。我把它粘贴在这里,这样它可能会帮助其他用户。
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(path);
MimeTypeMap mime = MimeTypeMap.getSingleton();
String ext = file.getName().substring(file.getName().lastIndexOf(".") + 1);
String type = mime.getMimeTypeFromExtension(ext);
intent.setDataAndType(Uri.fromFile(file), type);
context.startActivity(intent);
您应该决定并知道文件是视频还是图像。你可以通过查看文件的扩展名来做到这一点。
之后你可以打开这样的视频:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(result), "video/*");
startActivity(intent);
像这样的图像:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(result), "image/*");
startActivity(intent);
Android
系统将自动打开Intent Chooser
。