【问题标题】:Android BROWSABLE intent API levelAndroid BROWSABLE Intent API 级别
【发布时间】:2011-05-18 18:23:19
【问题描述】:

在 Android 2.3(API 级别 10)及更早版本上将 Android Activity 注册为 BROWSABLE Intent 是否有不同的步骤?

我已经设置了一个带有使用自定义方案的意图过滤器的 Activity:

<intent-filter>
    <action name="android.intent.action.VIEW"/>
    <category name="android.intent.category.DEFAULT"/>
    <category name="android.intent.category.BROWSABLE"/>
    <data scheme="@string/myCallbackProtocol"/>
</intent-filter>

在运行 2.3 且 SDK 的模拟器设置为 2.3 的物理设备上,浏览器应用程序使用我的自定义协议将链接定向到应用程序。

但是,如果我将模拟器缩减到 2.2 或 2.1,则浏览器不会重定向,而是指示找不到服务器。我没有运行这些 API 级别的实际设备。

我想发布我的应用程序,使其与运行 2.1 及更高版本的设备兼容。我错误地认为这应该是可能的吗?根据Android docsIntent.CATEGORY_BROWSABLE从1.0开始就可以使用了。

谢谢!

【问题讨论】:

    标签: android android-activity browsable


    【解决方案1】:

    我在使用BROWSABLE 时没有遇到任何问题,如果不是更早的话,至少可以追溯到 2.1。但是,我还没有实现自定义方案,更不用说在字符串资源中定义的方案了。 Here is a sample project 演示BROWSABLE 的使用。

    【讨论】:

    • 你好,我希望我的 webview 在将 url 粘贴到 url 字段后加载它,我尝试了这个 uri.setText(intentUri); webView.loadUrl(intentUri);但我的应用程序强制关闭。有什么线索吗?
    • @JRE.exe:我建议您提出一个单独的 Stack Overflow 问题,在其中提供源代码和堆栈跟踪。
    • 我整天都在做同样的事情,你能找到解决方法吗?谢谢
    【解决方案2】:

    解决了。 BROWSABLE 至少可以追溯到 Android 2.1。在 2.3 之前,似乎从字符串资源加载 &lt;data scheme=""&gt; 会导致 Activity 未正确注册。

    @string/ 引用更改为硬编码值会产生所需的结果。

    <intent-filter>
        <action name="android.intent.action.VIEW"/>
        <category name="android.intent.category.DEFAULT"/>
        <category name="android.intent.category.BROWSABLE"/>
        <data scheme="my-custom-protocol"/>
    </intent-filter>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 2012-07-05
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多