对于Android 8.1及更高版本,以下代码通过Intent.getData()返回了超出应用程序暴露的错误。该代码适用于android 7及以下版本。版本。
尝试包含intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);但不起作用
try {
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, new URLConnection.guessContentTypeFromName(url));
Intent intentChooser = Intent.createChooser(intent, "Open File");
this.cordova.getActivity().startActivity(intentChooser);
} catch (Exception e) {
System.out.println( e.getMessage());
}
预计将打开所有类型的文件(img,doc,excel)。