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
- Twitter4J búsqueda de la consulta de Android no devuelve todos los tweets
- Conexión a Android con Twitter - Obtener respuesta nula de twitter
- Android twitter4j subir imagen
- Uso de las credenciales de Twitter de AccountManager para crear Twitter4J AccessToken
- Inicie sesión en Twitter para mostrar el error "android.os.NetworkOnMainThreadException"
- Cheque Quien estoy siguiendo a través de Twitter4j
- ¿Cómo arreglar NoClassDefFoundError en twitter4j usando Android Studio?
- Android onNewIntent Uri es siempre nulo
- Retweet usando Twitter4j Android
- Faltan credenciales de autenticación de Twitter4j
- Ejemplo de xAuth de Twitter de Android con twitter4j
- Publicar un tweet con la API de Android
- TwitterException: No se puede acceder
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);
- Cómo clasificar los componentes de Android según el tamaño de la imagen mediante XML
- Leer el contenido HTML de los widgets de webview