2010-04-19 2 views
9

Sto costruendo un'applicazione Android che richiede OAuth. Ho a disposizione tutte le funzionalità di OAuth tranne che per gestire il callback da Yahoo. Ho il seguente nel mio AndroidManifest.xml:Android: gestire la richiamata di OAuth utilizzando il filtro intent.

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

Dove www.test.com verrà sostituita con un dominio che possiedo. Pare:

  • Questo filtro viene attivato quando faccio clic su un collegamento in una pagina.
  • Non è attivato sul reindirizzamento da Yahoo, il browser apre il sito Web all'indirizzo www.test.com
  • Non viene attivato quando entro il nome di dominio direttamente nel browser.

Allora qualcuno mi può aiutare con

  • Quando esattamente questo intent-filtro sarà attivato?
  • Eventuali modifiche al filtro intent o alle autorizzazioni che amplieranno il filtro da applicare alle richieste di reindirizzamento?
  • Altri approcci che potrei usare?

Grazie per il vostro aiuto.

+0

Potete per favore elaborare un codice su come utilizzare oauth in Android con yahoo? –

risposta

10

Così ho cambiato il mio approccio per utilizzare uno schema personalizzato, piuttosto che un URL web e ora tutto funziona come previsto.

Quindi il mio URL callback è:
X: // richiamata

e la mia intent-filtro è:

 
<intent-filter> 
    <action android:name="android.intent.action.VIEW"></action> 
    <category android:name="android.intent.category.DEFAULT"></category> 
    <category android:name="android.intent.category.BROWSABLE"></category> 
    <data android:scheme="X"></data> 
</intent-filter> 

dove X è il nome del mio schema di cliente.