如何使用MSWord的Intent

时间:2016-07-07 07:30:52

标签: java android android-intent ms-word

我正在尝试从我的应用编辑MSWord文档。 我决定使用Intent来做到这一点,但MSWord似乎无法找到要编辑的文档。我不确定我是否未正确定义文档的位置,或者我是否未正确传递uri。

Intent intent = new Intent(Intent.ACTION_EDIT);
file = Environment.getExternalStorageDirectory().getPath()+"/mydoc.doc";
Uri uri = Uri.parse(file);
intent.setDataAndType(uri, "application/msword");
activity.startActivityForResult(intent, MSWORD);

我得到的结果是MSWord启动并收到错误消息:

"无法打开文件" "尝试将文件保存在设备上,然后打开它。"

关于MSWord和Intents的文档似乎非常稀少!

2 个答案:

答案 0 :(得分:0)

终于找到了 - 对于其他受挫的开发者来说!

    File file = new File(Environment.getExternalStorageDirectory(),"Documents/101131new.docx");
    Uri path = Uri.fromFile(file);
    Intent objIntent = new Intent(Intent.ACTION_VIEW);
    objIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    objIntent.setDataAndType(path,"application/msword");
    activity.startActivity(objIntent);

这允许您处理/ Documents目录中的本地文件。

答案 1 :(得分:0)

请尝试以下:

    /**
     * @param fileRelativePath should be relative to SDCard 
     */
    private void launchMSWorldToOpenDoc(String fileRelativePath) {
        File file = new File(Environment.getExternalStorageDirectory(), fileRelativePath);
        Uri path = Uri.fromFile(file);
        Intent msIntent = new Intent(Intent.ACTION_EDIT);
        msIntent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        msIntent .setDataAndType(path,"application/msword");
        activity.startActivity(msIntent);
    }