android 调用系统指定的程序打开对应的文件
String filePath = getActivity().getExternalFilesDir(null) + File.separator + fileName;
File file = new File(filePath);
if (file.exists()) {
openFile(filePath);
}else{
}
private void openFile(String filePath) {
String type = getFileMimeType(new File(filePath));
Uri uri = FileProvider.getUriForFile(getContext(), "包名.provider", new File(filePath));
Intent intent = new Intent();
intent.setDataAndType(uri, type);
intent.setAction(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory("android.intent.category.DEFAULT");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startActivity(intent);
}
private String getFileMimeType(File file) {
String type = "*/*";
String fileName = file.getName();
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex < 0) {
return type;