Volver atrás después de la llamada Intent.ACTION_VIEW en android

Mi aplicación tiene 3 actividades A, B, C. Actividad A llama B. En B, llamo a Intent.ACTION_VIEW para hacer autenticación con Twitter como se muestra a continuación:

public static void DoAuthen(Context context, String CallBackUrl) throws OAuthMessageSignerException, OAuthNotAuthorizedException, OAuthExpectationFailedException, OAuthCommunicationException { httpOauthConsumer = new CommonsHttpOAuthConsumer(context.getString(R.string.Twitter_ConsumerKey), context .getString(R.string.Twitter_ConsumerSecret)); httpOauthprovider = new DefaultOAuthProvider("http://twitter.com/oauth/request_token", "http://twitter.com/oauth/access_token", "http://twitter.com/oauth/authorize"); String authUrl = httpOauthprovider.retrieveRequestToken(httpOauthConsumer, CallBackUrl); context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl))); } 

Después de la autenticación, My App se llama de vuelta en la actividad B. Aquí B llama C. Ahora si presiono el botón Atrás, navegará al navegador (que antes se autenticaba con Twitter antes) en lugar de a B y luego a A. ¿Cómo puedo Resolver esto

Consulte Tareas y pila de respaldo en android . Usted puede usar dos tareas en su aplicación – en la primera que usted hace su negocio, en la segunda – autorización. Inicia la autorización con flag de intención FLAG_ACTIVITY_NEW_TASK y usa el parámetro android: clearTaskOnLaunch . ¡Buena suerte!

En C puede anular el botón de retroceso para ir directamente a B

 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { startActivity(C.this,B.class); moveTaskToBack(true); return true; } return super.onKeyDown(keyCode, event); } 

Añadí los siguientes indicadores a la intención de ACTION_VIEW y resolvió el problema de volver al navegador

 consumer = new CommonsHttpOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET); provider = new DefaultOAuthProvider("http://twitter.com/oauth/request_token", "http://twitter.com/oauth/access_token", "http://twitter.com/oauth/authorize"); String authUrl = provider.retrieveRequestToken(consumer, Constants.OAUTH_CALLBACK_URL); Intent oauthIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)); oauthIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); oauthIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); oauthIntent.addFlags(Intent.FLAG_FROM_BACKGROUND); 
  • Twitter Oauth Callback getOAuthRequestToken null
  • Android Twitter4j dando error NoClassDefFoundError: twitter4j.TwitterFactory
  • ofuscación androide Proguard con twitter4j
  • Twitter4j API no está redirigiendo a la aplicación en la pulsación del botón de nuevo en android
  • ¿Cómo obtener información de usuario de twitter en la aplicación android?
  • Twitter4j. Realizar consultas y filtrar mensajes por #hashtag
  • Twitter4J + Android: El desafío de autenticación es una excepción nula
  • Cómo recuperar el nombre de un usuario de Twitter usando Twitter 4j
  • Android twitter 4j integración obtener entidades tweet
  • Problema con OAuth, Twitter y Android: falla en la comunicación http con el servidor
  • Extraño SQLiteException no en todos los dispositivos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.