Pregunta

¿Hay pasos diferentes para registrar una actividad de Android como una intención navegable en Android 2.3 (nivel de API 10) y versiones anteriores?

He configurado una actividad con un filtro de intención que utiliza un esquema personalizado:

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

En un dispositivo físico que se ejecuta 2.3, y con el simulador SDK establecido en 2.3, la aplicación del navegador dirige los enlaces utilizando mi protocolo personalizado a la aplicación.

Sin embargo, si escaleo el simulador a 2.2 o 2.1, el navegador no redirige, sino que indica que no se puede encontrar el servidor.No tengo un dispositivo real que ejecuta estos niveles de API.

Me gustaría lanzar mi aplicación para que sea compatible con los dispositivos que se ejecutan 2.1 y más.¿Estoy equivocado a asumir que esto debería ser posible?Según la Android docs Intent.CATEGORY_BROWSABLE ha estado disponible desde 1.0.

¡Gracias!

¿Fue útil?

Solución 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>

Otros consejos

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top