【问题标题】:Intent.category.BROWSABLE: set visibility to external applicationsIntent.category.BROWSABLE:设置对外部应用程序的可见性
【发布时间】:2012-09-17 03:07:54
【问题描述】:

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

<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 时,他会看到一个对话框,在该对话框中他可以选择更喜欢的应用程序来查看该 url。但我希望我的应用程序仅针对从我的应用程序内部打开的 url 显示在此对话框中。我不希望它出现,例如,当用户尝试在 Facebook 应用程序中打开某些外部链接时。有没有办法做到这一点?

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

【问题讨论】:

    标签: android android-intent web


    【解决方案1】:

    但我希望我的应用程序仅针对从我的应用程序内部打开的 url 显示在此对话框中。

    这是不可能的,抱歉。

    可能可以通过PackageManagersetComponentEnabledSetting() 启用和禁用此组件来伪造此行为,以便仅在可能会遇到此类 URL 时启用它.但是,这可能很难做到 100% 可靠。

    【讨论】:

    • 感谢您的解释。是否可以自定义显示的对话框,至少更改其标题文本?
    • @YuriyPogrebnyak:只有你是编写 Web 浏览器的人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多