我正在尝试从我的应用编辑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的文档似乎非常稀少!
答案 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);
}