Android 从自己的文件资源管理器打开文件

Android 从自己的文件资源管理器打开文件,android,file,android-intent,Android,File,Android Intent,我已经编写了自己的文件浏览器,现在我想开始实现打开各种文件的功能。我已经实现了Mime类型和所有其他功能,但如何将特定的选定文件解析为特定的“查看器活动”?我知道如何使用意图,但如何在查看器应用程序中接收并使用它。非常感谢各位:)像这样的东西应该可以用。将文件更改为您想要的任何内容 File file = new File(Environment.getExternalStorageDirectory(), "movie.mp4"); int index = file.getName().las

我已经编写了自己的文件浏览器,现在我想开始实现打开各种文件的功能。我已经实现了Mime类型和所有其他功能,但如何将特定的选定文件解析为特定的“查看器活动”?我知道如何使用意图,但如何在查看器应用程序中接收并使用它。非常感谢各位:)

像这样的东西应该可以用。将文件更改为您想要的任何内容

File file = new File(Environment.getExternalStorageDirectory(), "movie.mp4");
int index = file.getName().lastIndexOf(".") + 1;
String extension = null;
if (index > 0) {
    extension = file.getName().substring(index);
}
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri u = Uri.parse("file://" + file.getAbsolutePath());
String mimeType = null;
if (extension != null) {
    mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
}
if (mimeType == null) {
    mimeType = "*/*";
}
intent.setDataAndType(u,  mimeType);
try {
    startActivity(Intent.createChooser(intent, "Open with..."));
} catch (ActivityNotFoundException e) {
    // handle the exception
}

对不起,问错了。我问如何从接收intentAh的活动中处理它,我误解了这个问题。像这样的方法应该会奏效: