1

当从 Gmail 应用程序中选择“附加图片”/“附加视频”时,我希望我的应用程序显示为一个选项。(注意:我不是指从我的应用程序共享或发送图片到 Gmail。)

如何将我的应用程序注册为画廊/选择器?我在清单中尝试了以下操作,但我的应用未列为从 Gmail 中选择图片或视频的可能应用之一:

<application ...>

    <receiver android:name="MyReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
        </intent-filter>
    </receiver>

    <activity ...>

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" /> 
            <data android:mimeType="vnd.android.cursor.dir/image" /> 
            <data android:mimeType="vnd.android.cursor.dir/video" />
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.PICK" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.OPENABLE" />
            <data android:mimeType="image/*"/>
        </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="*/*" />
        </intent-filter>   

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="image/jpeg"/>
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" /> 
            <data android:mimeType="vnd.android.cursor.dir/image" /> 
            <data android:mimeType="vnd.android.cursor.dir/video" />
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.PICK" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.OPENABLE" />
            <data android:mimeType="image/jpeg"/>
        </intent-filter>

    </activity>
</application>

我究竟做错了什么?我必须注册广播接收器吗?

4

1 回答 1

0

Gmail 正在请求一个可以发送图像的应用程序。这可能会转化为:

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="image/*" />
</intent-filter>

对于视频,您可以指定 mime type video/*

我还没有测试过这个,但我相当肯定它会成功。

于 2013-04-03T18:57:52.257 回答