处理来自Chrome的共享和其他操作

时间:2014-02-23 17:40:03

标签: android android-intent android-browser

我有一个可以播放视频的应用程序,想想MXPlayer加上轻量级浏览器。因此,当有人点击某个文件的chrome链接时,我希望有机会处理某些视频文件,而且当有人想要分享链接时,我想在Chrome的共享弹出窗口中显示(以便我的应用程序可能会打开页面)。到目前为止,我已经将我的应用程序显示在其他应用程序的共享弹出窗口中,但我无法让它显示在Chrome的共享弹出窗口中。以下是我的意图过滤器:

        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="http"/>
            <data android:scheme="https"/>
            <data android:mimeType="video/*"/>
            <data android:mimeType="*/avi"/>
            <data android:mimeType="*/mkv"/>
            <data android:mimeType="application/mp4"/>

        </intent-filter>
        <intent-filter android:icon="@drawable/ic_launcher">
            <action android:name="android.intent.action.SEND"/>
            <data android:mimeType="*/*"/>
            <data android:scheme="http"/>
            <data android:scheme="https"/>


            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>

有人能告诉我我做错了什么吗?另外我应该提一下我只想要http / https流,我不想要本地文件。

感谢。

1 个答案:

答案 0 :(得分:1)

我设法通过将其用于共享菜单选项来实现它:

        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:mimeType="text/plain"></data>
        </intent-filter>

这是因为当有人点击某个链接时,Chrome会弹出一个打开它的对话框:

        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <category android:name="android.intent.category.BROWSABLE"/>
            <data android:scheme="http"/>
            <data android:scheme="https"/>
        </intent-filter>