0

我的应用程序处理类型“text/plain”的 Intents ACTION_VIEW,因此我可以用它打开 .txt 文件。我从任何程序打开这些文件都没有问题,当我想从电子邮件中“打开”附件时,从 Gmail 中打开这些文件一切正常。当我想“预览”附件时出现问题 - gmail 给了我不同的意图。如何处理?我比较了 OPEN 和 PREVIEW 的 Intent:

OPEN:
START OF INTENT!
action = android.intent.action.VIEW
getDataString = file:///mnt/sdcard/download/anime_rozne-1.txt
getData = file:///mnt/sdcard/download/anime_rozne-1.txt
getCategories = null
getComponent = {pl.my.package.deszyfrator/pl.my.package.deszyfrator.MainActivity}
getExtras = null
getPackage = null
getScheme = file
getType = text/plain
END OF INTENT!


PREVIEW:
START OF INTENT!
action = android.intent.action.VIEW
getDataString = content://gmail-ls/messages/my.email@0gmail.com/129/attachments/0.1/BEST/false
getData = content://gmail-ls/messages/my.email@gmail.com/129/attachments/0.1/BEST/false
getCategories = null
getComponent = {pl.my.package.deszyfrator/pl.my.package.deszyfrator.MainActivity}
getExtras = null
getPackage = null
getScheme = content
getType = text/plain
END OF INTENT!

我该怎么办? content://gmail-ls/messages/my.email@gmail.com/129/attachments/0.1/BEST/false

4

1 回答 1

0

这看起来像是 Gmail 的特定意图。如果您有权访问用户的 Gmail 帐户,那么您可以尝试处理它。但我的建议是为您添加一个Data标签,Intent Filter以便您只处理某些类型的内容。

更多信息可以在这里找到。

基本上你的代码看起来像这样:

<intent-filter>
    <data android:mimeType="text/plain" android:scheme="file" /> 
</intent-filter>

an 的所有有效字段Intent Filter都可以在文档中找到。

于 2013-10-17T14:01:40.677 回答