2011-02-03 7 views
6

E se possibile, come posso ottenere questo comportamento per l'app "mia"?Che cosa rende Google Maps/Youtube in grado di visualizzare il menu "Completa questa azione con"?

Ad esempio, quando un utente accede all'URL "example.com/*" (qualsiasi pagina che inizia con example.com), vorrei che il menu "Completa questa azione con" mostri l'elenco di tutti i browser e questa particolare app?

Ho letto la documentazione di Intent, ma sembra che tu possa solo crearli per i dati del telefono, non per gli URL del web.

Modifica: qualcuno? L'ho esaminato ancora un po ', ma non ho avuto fortuna. Mi piacerebbe impostare una taglia, ma non ho ancora questa opzione. Se non è possibile, credo che farò un modo per incollare un URL.

+0

Vuoi che la tua app venga visualizzata in questo elenco in altre applicazioni o vuoi aprire un elenco con tutte le app disponibili dalla tua applicazione? – cottonBallPaws

+0

Voglio che la mia app venga visualizzata nell'elenco. Spero che i browser vedano se possono attivare questo elenco su ogni caricamento della pagina, ma iniziano a pensare che non sia probabile. –

+0

Andrew Koester ha dato una risposta davvero buona quindi dovresti probabilmente premiare un po 'di quella reputazione visto che domani andrà tutto perso se non lo dai a qualcuno – Cameron

risposta

12

È piuttosto semplice, in realtà! Quello che vuoi è un filtro intent con il set di categorie BROWSABLE e un tag <data> impostato per abbinare il tuo URL.

All'interno della vostra <activity>, aggiungere:

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

e impostare l'azione e categorie come si desidera, e cambiare i valori delle variabili di dati a qualcosa di rilevante per la vostra applicazione. Ciò consentirà al tuo link (in questo caso, http://www.example.com/) di essere avviato nella tua applicazione dal browser.

Problemi correlati