Domanda

Ci sono diversi passaggi per registrare un'attività Android come intenzione di Android su Android 2.3 (livello API 10) e versioni precedenti?

Ho impostato un'attività con un filtro intento che utilizza uno schema personalizzato:

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

Su un dispositivo fisico in esecuzione 2.3, e con il simulatore di SDK impostato su 2.3, l'applicazione del browser indirizza i collegamenti utilizzando il mio protocollo personalizzato sull'app.

Tuttavia, se riducono il simulatore a 2.2 o 2.1, quindi il browser non reindirizza ma invece indica che il server non può essere trovato.Non ho un dispositivo reale che esegue questi livelli API.

Vorrei rilasciare la mia app in modo che sia compatibile con i dispositivi che eseguono 2.1 e maggiore.Ho sbagliato ad assumere che questo dovrebbe essere possibile?Secondo il Android Docs Intent.CATEGORY_BROWSABLE è stato disponibile da 1.0. .

Grazie!

È stato utile?

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

Altri suggerimenti

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top