我在我的文件夹“/mnt/sdcard/Download/baby_details.doc”和我设置的应用程序类型中有一个word文档(以后我也将构建一个pdf,但现在要显示word文档)打开此文档的是“application / msword”。
在我的日食LogCat中,我正在观看本机android活动如何打开Word文档,我将结果视为
Starting: Intent { act=android.intent.action.VIEW dat=file:///mnt/sdcard/Download/per-general-business-letter.doc typ=application/msword flg=0x10000000 cmp=com.qo.android.moto/com.qo.android.quickoffice.QuickofficeDispatcher } from pid 24132
Starting: Intent { act=android.intent.action.VIEW dat=file:///mnt/sdcard/Download/per-general-business-letter.doc typ=application/msword flg=0x1 cmp=com.qo.android.moto/com.qo.android.quickword.Quickword } from pid 1591
Start proc com.qo.android.moto:Quickword for activity com.qo.android.moto/com.qo.android.quickword.Quickword: pid=2452 uid=10010 gids={3003}
所以我尝试用
打开文档 Bundle bundle = new Bundle();
bundle.putString("dat", "/mnt/sdcard/Download/baby_details.doc");
bundle.putString("typ", "application/msword");
Intent docClient = new Intent(Intent.ACTION_VIEW);
docClient.putExtras(bundle);
docClient.setClassName("com.qo.android.moto", "com.qo.android.quickword.Quickword");
startActivityForResult(docClient, WORD_APP);
但是我收到了一个未知来源,我也尝试将setClassName更改为
docClient.setClassName("com.qo.android.moto", "com.qo.android.quickoffice.QuickofficeDispatcher");
仍然会出现同样的错误。
我想知道是否有人使用本机QuickOffice活动打开单词/ pdf / xls?
谢谢, 萨纳。
答案 0 :(得分:2)
不要将“dat”和“type”放在一个包中;使用Intent.setType
和intent.setData
(或只使用intent.setDataAndType
。并确保您用于数据的URI与系统预期的匹配(file://
)。