我正在尝试使用Polaris Viewer从SD卡中打开.doc文件。 我继续收到一条消息“此文件无法打开”。
奇怪的是,我可以从其他地方打开它。 我的手机上有ES文件浏览器,我可以通过那里打开。它是通过Polaris Viewer完成的,所以文件显然没问题。我唯一能想到的是我的意图有问题。 有没有办法确切地看到ES文件资源管理器发送了什么意图?
这是我的代码(textOpenUri是要打开的文件的完整路径名):
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(textOpenUri, "application/msword");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);
我做了一个小测试(只是为了确保它不是默认为其他应用程序)使用:
List<ResolveInfo> list = getActivity().getPackageManager().queryIntentActivities(intent,0);
我将Polaris作为唯一可以处理意图的应用程序。
答案 0 :(得分:3)
Intent intent = new Intent("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.fromFile(file);
intent.setDataAndType(uri, "application/msword");
this.startActivity(intent);
startActivity(intent);