2014-10-03 16 views
10

Quindi sto creando app per dispositivi mobili e desidero fare collegamenti per attivare le cose sia in iOS che in Android utilizzando lo stesso URL. So come farlo già. il mio intento su Android è qualcosa di simile:Collegamenti ipertestuali con schema non HTTP in GMAIL

  <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:host="activity.action android:scheme="myapp"/> 
      </intent-filter> 

Il mio problema è quando vado a testare questo e voglio fare un collegamento ipertestuale in un myapp email: //activity.action non è riconosciuto come un URL in Gmail su Android e viene visualizzato come testo normale. C'è un modo per risolvere questo problema? come ottengo lo schema non standard riconosciuto da Gmail come un collegamento?

+0

Hai provato un'email html con un href? –

+1

si aggiunge qualcosa come test text please viene ancora rimosso e tutto ciò che si ottiene è il testo – 1tSurge

+0

Gmail ha una protezione schema URL. Lo stesso vale per molti siti Web. Ti suggerisco di creare una pagina web su un server che reindirizza l'utente al tuo protocollo e invia quella pagina ai tuoi utenti tramite Gmail. –

risposta

5

schemi personalizzati non sono supportati da Gmail e applicazioni del Chrome. Non farlo. Segui le linee guida di Android per l'apertura dell'app dal browser/link. Vedere il seguente messaggio Make a link in the Android browser start up my app?

+2

Questo fa schifo su iOS dove dovrai fare affidamento sul tuo schema personalizzato ... – fluidsonic

+8

Esiste da qualche parte che questa limitazione di gmail/chrome/etc sia ufficialmente documentata? – swooby

2

È possibile creare filtri di intent per URL HTTP e HTTPS e URL con schemi personalizzati.

Ad esempio, è possibile impostare un filtro intento in questo modo:

<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="example.com" 
     android:path="/my-path" /> 

</intent-filter>