我正在尝试在我的应用程序中阅读(第一次 - 对我来说是新的)gmail 附件(.gcsb 扩展名)。意图过滤器如下所示:
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:pathPattern="*.gcsb"></data>
<data android:mimeType="application/*"></data>
</intent-filter>
这似乎使“下载”和“预览”按钮出现在 gmail 中的附件旁边(没有该过滤器,按钮不会出现)。
在活动(onCreate()/ onRestart())中,我这样做:
....
Intent intent = getIntent();
if (!Intent.ACTION_VIEW.equals(intent.getAction())) {
// Deal with the file from gmail here
}
....
检查是否是 gmail 导致此活动开始。
然而,intent.getAction() 总是解析为 android.intent.action.MAIN,所以它从不做任何事情。活动中还有另一个意图过滤器:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
正在为应用程序启动,但我不明白为什么我从来没有从 gmail 看到 android.intent.action.VIEW?