2010-08-02 3 views
1

Android: J'utilise l'authentification twitter en lançant WebViewfini appel android sur l'intention

Intent authIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)); 
startActivity(authIntent); 

après l'authentification réussie onNewintent obtenir appel et le contrôle retourne à mon activité. Problème est webview reste toujours ouvert après le contrôle retour à mon activité et si l'utilisateur appuyez sur le bouton de retour utilisateur peut à nouveau accéder à cette page, comment puis-je terminer l'activité webview après le contrôle retour à mon actiivyt.

je voudrais appeler terminer sur "authIntent" comment puis-je?

Répondre

0

J'ai préféré lancer la vue Web dans une boîte de dialogue personnalisée et ainsi obtenir un contrôle total sur celle-ci. Cela inclut l'utilisation d'un WebView avec un client WebViewClient personnalisé dans lequel le rappel d'autorisation est géré par la méthode shouldOverrideUrlLoading substituée.

Pour un exemple détaillé, vous pouvez consulter le FacebookSDK et comment il gère la page d'autorisation dans une boîte de dialogue: c'est un peu trop de code à coller ici.

+0

toute autre solution rapide pour fermer le lancement de l'intention par indicateur de vue? –

+0

Je ne suis pas au courant (ne veut pas nécessairement dire qu'il n'existe pas) d'un moyen d'appeler une activité pour terminer. Vous pouvez définir le mode de lancement de l'activité d'appel sur singleTask dans le manifeste, de sorte qu'il ne sera pas dupliqué lorsque le navigateur le relancera. Je l'ai utilisé avec succès avec des appels téléphoniques, mais je ne me souviens pas si cela a fonctionné comme je le voulais avec le navigateur et Twitter. – DonSteep

+0

pouvez-vous poster le code pour cette solution? – CQM

Questions connexes