将我的应用程序添加到gmail中附件的“完成操作使用”列表中

时间:2012-08-29 11:34:33

标签: android-intent gmail android-manifest intentfilter

我希望我的应用程序出现在gmail的列表中。单击Gmail应用程序中的“预览”按钮时会出现此列表。

我想知道在intent过滤器中需要添加哪些条目?

感谢您的帮助。

1 个答案:

答案 0 :(得分:8)

查看意图过滤器: http://developer.android.com/guide/components/intents-filters.html

具体来说,我认为你会发现Note Pad示例很有帮助: http://developer.android.com/guide/components/intents-filters.html#npex

就个人而言,几个小时前我也有同样的问题。我需要用我的应用程序打开文本文件。为此,我必须将此添加到我的清单中:

<activity
    android:name=".(ActivityName)"
    android:label="@string/app_name"
    android:exported="true" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="com.google.android.apps.drive.DRIVE_OPEN" />
        <action android:name="android.intent.action.VIEW" />
        <action android:name="android.intent.action.EDIT" />
        <action android:name="android.intent.action.INSERT" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/*" />
    </intent-filter>
</activity>

有了这个,我就可以让我的应用程序出现在可用应用程序列表中,以打开Astro中的文本文件,并允许它启动。

要使其实际处理打开文件,您需要在活动中向onCreate添加类似的内容:

Intent intent = getIntent();
Action action = intent.getAction();
if (action.equals("com.google.android.apps.drive.DRIVE_OPEN")) {
    // Handle the intent from google drive...
} else if (action.equals("android.intent.action.VIEW")) {
    // Handle the intent to view the file...
} else // And so on...