Android Roading API API API
-
15-11-2019 - |
Вопрос
Есть ли разные шаги для регистрации активности Android в качестве просмотра на Android 2.3 (уровень API) и более ранние версии?
Я настроил активность с помощью фильтра Intent, который использует пользовательскую схему:
<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 Intent.CATEGORY_BROWSABLE
были доступны с 1.0. .
Спасибо!
Решение 2
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.
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>
Другие советы
I have had no problems using BROWSABLE
going back at least to 2.1 if not earlier. However, I have not implemented a custom scheme, let alone one defined in a string resource. Here is a sample project demonstrating the use of BROWSABLE
.