Пытаюсь открыть документ Word из моего приложения в Xoom (Android 3.0), но получаю «Неизвестный источник» - PullRequest
2 голосов
/ 24 марта 2011

У меня есть текстовый документ (также позже я тоже буду создавать PDF, но сейчас текстовый документ должен быть открыт) в моей папке «/mnt/sdcard/Download/baby_details.doc» и тип приложения, который я установил чтобы открыть этот документ "application / msword".

В моем затмении LogCat я наблюдал, как документ 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?

* +1015 * Спасибо, Сана.

1 Ответ

2 голосов
/ 24 марта 2011

Не помещайте «dat» и «type» в связку;используйте Intent.setType и intent.setData (или просто используйте intent.setDataAndType. И убедитесь, что URI, который вы используете для данных, соответствует тому, что система ожидает (file://).

...