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

mit*_*hun 4 gmail intentfilter android-manifest android-intent

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

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

我在这里先向您的帮助表示感谢.

Art*_*are 8

看看Intent Filters: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>
Run Code Online (Sandbox Code Playgroud)

有了这个,我就可以让我的应用程序出现在可用应用程序列表中,以打开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...
Run Code Online (Sandbox Code Playgroud)