Android BROWSABLE намеренный уровень API - PullRequest
1 голос
/ 18 мая 2011

Существуют ли различные шаги для регистрации действия Android в качестве намерения BROWSABLE в Android 2.3 (уровень API 10) и более ранних версиях?

Я настроил действие с фильтром намерений, использующим пользовательскую схему:

<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 ]

0 голосов
/ 19 мая 2011

решаемая. BROWSABLE работает как минимум до Android 2.1. До 2.3 кажется, что загрузка <data scheme=""> из строкового ресурса приводит к тому, что активность не регистрируется правильно.

Изменение ссылки @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>
0 голосов
/ 19 мая 2011

У меня не было проблем с использованием BROWSABLE, возвращаясь по крайней мере к 2,1, если не раньше. Однако я не реализовал пользовательскую схему, не говоря уже о схеме, определенной в строковом ресурсе. Вот пример проекта , демонстрирующий использование BROWSABLE.

...