Намерение пересылки? - PullRequest
       18

Намерение пересылки?

0 голосов
/ 28 декабря 2011

, например, k9-Mail попытается найти приложение для обработки некоторых вложений и использует MimeType-спецификацию электронного письма.

Например, для PDF оно отправляет корректно (информация об отладке):

12-27 15:41:58.992: I/ActivityManager(119): Starting: Intent { act=android.intent.action.VIEW dat=content://com.fsck.k9.attachmentprovider/01549957-459d-4ee3-b568-7e59390a9535/3/VIEW typ=application/pdf flg=0x3880001 cmp=com.adobe.reader/.AdobeReader } from pid 119

Но если к письму прикрепить PDF не с MimeType «application / pdf», а с «application / pdf», это не сработает.:-( Это приводит к трансляции:

12-27 15:35:15.007: I/ActivityManager(119): Starting: Intent { act=android.intent.action.VIEW dat=content://com.fsck.k9.attachmentprovider/01549957-459d-4ee3-b568-7e59390a9535/2/VIEW typ='application/pdf' flg=0x80001 } from pid 3635

«в начале и в конце» приводит к тому, что IMHO не найдено ни одного приложения для обработки.: - (

K9-Mail пропускает некоторые другиесопоставления, поэтому моя идея заключалась в том, чтобы создать небольшое приложение, которое перехватывало бы вызов и переадресовывало бы его. Но, например, читатель не открывается. Я пробовал это:неправильно ... потому что отладчик показывает

12-28 08:38:51.445: V/ActivityForwardIntent(1195): Intent after: Intent { act=android.intent.action.VIEW dat=content://com.fsck.k9.attachmentprovider/01549957-459d-4ee3-b568-7e59390a9535/2/VIEW typ='application/pdf' flg=0x80001 cmp=de.blablupp.android.testproject/.ActivityForwardIntent }

Может кто-нибудь мне помочь? Возможно ли, что PDF-приложение не может получить контент? Но я не вижу, что PDF-приложениеможно выбрать или начать.: - (

Один вопрос также - что означает cmp? И как я могу установить эту информацию для нового намерения?

Я надеюсь решить эту проблему, потому что этодействительно раздражает сохранять контент и запускать его с помощью файлового браузера.

tia and reagards

nauni

1 Ответ

0 голосов
/ 29 декабря 2011

Теперь я увидела свою ошибку ... Я была слепа после стольких попыток ...

Log.v(TAG, "Intent after: " + getIntent().toString());

записал неверный объект :-( ...

Log.v(TAG, "Intent after: " + i.toString());

сделал правильное ведение журнала, поэтому я обнаружил проблему, и теперь приложение пытается запустить acrorad. Так что эта проблема решена. Спасибо!

Проблема заключалась в том, чтобы установить данные и ввести их одной командой. Таким образом, оба установлены правильно и запустить приложение. Установите первый и с помощью следующей команды следующий не будет иметь успеха.

i.setDataAndType(getIntent().getData(), mapping.get(getIntent().getType()));

Спасибо за внимание, науни

PS: Но теперь у меня проблема с разрешением безопасности ... но сначала я пытаюсь найти решение, прежде чем что-то спросить. ; -)

...