问题描述
有没有不同的步骤来注册一个Android的活动为在Android 2.3(API等级10)和早期版本的?
Are there different steps to register an Android Activity as a BROWSABLE intent on Android 2.3 (API level 10) and earlier versions?
我已经设置了一个意图过滤器使用自定义方案的活动:
I've set up an Activity with an intent filter that uses a custom scheme:
<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,该浏览器应用程序中使用我的自定义协议的应用程序指导的链接。
On a physical device running 2.3, and with the SDK's simulator set to 2.3, the browser application directs links using my custom protocol to the app.
不过,如果我缩减模拟器2.2或2.1,然后在浏览器不重定向而是表示服务器无法找到。我没有一个实际的设备上运行这些API的水平。
However, if I scale back the simulator to 2.2 or 2.1 then the browser does not redirect but instead indicates the server cannot be found. I don't have an actual device running these API levels.
我想释放我的应用程序,所以它与运行2.1及更高版本的设备兼容。我是不是一个错误的假设,这应该是可能的吗?按照的Android文档 意图。 CATEGORY_BROWSABLE
自1.0已经可用。
I would like to release my app so it's compatible with devices running 2.1 and greater. Am I wrong to assume this should be possible? According to the Android docs Intent.CATEGORY_BROWSABLE
has been available since 1.0.
谢谢!
推荐答案
解决。 可浏览
工作追溯到至少尽可能的Android 2.1。在2.3似乎加载&lt;数据方案=&GT;从字符串资源
导致没有被正确注册的活动。
Solved. BROWSABLE
works back at least as far as Android 2.1. Before 2.3 it seems that loading the <data scheme="">
from a string resource leads to the Activity not being registered correctly.
更改 @string /
引用硬codeD值产生期望的结果。
Changing the @string/
reference to a hard-coded value yields the desired result.
<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>
这篇关于安卓浏览的意图API级别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!