【问题标题】:Intent filter for opening my app from Gmail's "Attach picture" / "Attach video" button [duplicate]从 Gmail 的“附加图片”/“附加视频”按钮打开我的应用的意图过滤器 [重复]
【发布时间】:2013-04-03 18:42:23
【问题描述】:

我希望我的应用在从 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>

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

【问题讨论】:

    标签: android android-intent broadcastreceiver android-manifest intentfilter


    【解决方案1】:

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

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

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

    我没有对此进行测试,但我相当肯定它会成功。

    【讨论】:

    • 如何编码?我的意思是我的应用程序正在打开,但用户如何从那里选择图像?
    猜你喜欢
    • 2015-03-20
    • 2011-12-30
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    相关资源
    最近更新 更多