2010-12-02 15 views
11

Quiero configurar un filtro intención de manipular las URLs como: http://mysite.com/?action=delete&id=30492Pathprefix filtro de intención con el signo de interrogación

He tratado de establecer mi intent-filter de la siguiente manera:

<intent-filter> 
<action android:name="android.intent.action.VIEW" /> 
<category android:name="android.intent.category.DEFAULT" /> 
<category android:name="android.intent.category.BROWSABLE" /> 
<data android:scheme="http" android:host="mysite.com" android:pathPrefix="/?action="/> 
</intent-filter> 

Sin embargo, este doesn no funciona, y mi aplicación no es reconocida por ser capaz de manejar la URL. Sé que es porque estoy haciendo algo mal con mi pathPrefix porque cuando elimino el pathPrefix funciona. También sé que está relacionado con tener el signo de interrogación allí porque si elimino el signo de interrogación de la URL y el pathPrefix, funciona.

¿Debo escapar del signo de interrogación de alguna manera? Intenté escapar con una barra inclinada (android:pathPrefix="/\?action="), pero eso tampoco funciona.

¿Cómo puedo conseguir que este filtro de intención funcione?

Respuesta

12

La cadena de consulta (?action=... en su ejemplo) no es parte de la ruta. AFAIK, no puedes filtrar las cadenas de consulta.

+0

Bummer, gracias. –

+1

Parece que tendrá que crear una actividad genérica que tome la decisión de qué actividad lanzar como una solución alternativa. –

Cuestiones relacionadas