我正在尝试使用意图在 Android (4.0) 中打开本地文件。以下是执行该操作的代码。只要文件没有特殊空格,它就可以正常工作(例如:如果文件是 /data/data/com.xxxx.yyyy/files/Downloads/Documents/ProductFeature.pptx,则它可以正常打开,但如果文件名称是 /data/data/com.xxxx.yyyy/files/Downloads/Documents/Product Feature.pptx (注意名称中的空格),然后失败。Uri.fromFile 正确编码空间,但其他应用程序似乎无法解释它们,似乎无法打开。
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(new File( selectedEntry.get(Defs.PATH_KEY)));
System.out.println("openFileWith: File to open: " + uri);
intent.setDataAndType(uri,type);
startActivity(Intent.createChooser(intent, "Open With ..."));
我还尝试在没有太多帮助的情况下使用“file://”+未编码路径。
那么你如何处理这种情况呢?任何帮助表示赞赏