Intent.category.BROWSABLE:设置对外部应用程序的可见性

时间:2012-09-25 14:56:44

标签: android android-intent web

在我的Android应用程序中,我支持在我的应用程序或外部浏览器中打开网站。 所以我在android清单中添加了以下代码:

<activity
        android:name=".MyActivity"
        android:screenOrientation="portrait" >
        <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>
</activity>

所以现在当用户试图打开一些网址时,他会看到一个对话框,在这个对话框中他可以选择更喜欢的应用来查看此网址。但我希望我的应用程序只出现在我的应用程序内部打开的URL中。当用户试图在Facebook应用程序中打开一些外部链接时,我不希望它出现。有没有办法做到这一点?

请注意,我的应用支持打开不同的链接,我无法为它们设置任何特定的模式。

1 个答案:

答案 0 :(得分:1)

  

但是我希望我的应用程序只出现在我的应用程序内部打开的网址的此对话框中。

这是不可能的,抱歉。

可能能够通过PackageManagersetComponentEnabledSetting()启用和禁用此组件来伪造此行为,这样只有在可能出现此类组件时才会启用此行为将遇到URL。但是,可能很难使其100%可靠。