2

我的文件夹“/mnt/sdcard/Download/baby_details.doc”和我设置的应用程序类型中有一个word文档(稍后我也会构建一个pdf,但现在要打开word文档)文档是“应用程序/msword”。

在我的 eclipse 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 活动打开 word/pdf/xls?

谢谢,萨娜。

4

1 回答 1

2

不要将“dat”和“type”放在一起;使用Intent.setTypeand intent.setData(或只使用intent.setDataAndType. 并确保您用于数据的 URI 与系统期望的 URI 相匹配(file://)。

于 2011-03-24T20:06:03.027 回答