support servicio puedo hoy gratis funciona fallas entrar destacados desde celular android twitter

servicio - Abrir la página en la aplicación de Twitter desde otra aplicación-Android



twitter support (5)

Estaba buscando una forma de iniciar la aplicación de Twitter y abrir una página específica desde mi aplicación, sin vista web. Encontré la solución para Facebook aquí: abriendo la aplicación de Facebook en la página de perfil especificada

Necesito algo similar.

EDITAR Acabo de encontrar una solución:

try { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?screen_name=[user_name]")); startActivity(intent); } catch (Exception e) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/#!/[user_name]"))); }


Abra la página en la aplicación de Twitter desde otra aplicación usando Android en 2 pasos:

1. Simplemente pegue el siguiente código (haga clic en el botón o en cualquier lugar que necesite)

Intent intent = null; try{ // Get Twitter app this.getPackageManager().getPackageInfo("com.twitter.android", 0); intent = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?user_id=USER_ID")); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } catch () { // If no Twitter app found, open on browser intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/USERNAME")); }

2. intent = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?user_id=USER_ID"));

Para obtener USER_ID solo escribe el nombre de usuario http://gettwitterid.com/ y obtén ID de usuario de Twitter allí

Referencia : https://solutionspirit.com/open-page-twitter-application-android/

Espero que ayude :)



Mi respuesta se basa en las respuestas ampliamente aceptadas de fg.radigales y Harry. Si el usuario tiene Twitter instalado pero deshabilitado (por ejemplo, al usar Cuarentena de aplicaciones), este método no funcionará. Se seleccionará la intención de la aplicación Twitter, pero no podrá procesarla ya que está deshabilitada.

En lugar de:

getPackageManager().getPackageInfo("com.twitter.android", 0); intent = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?user_id=2343965036"));

Puede usar lo siguiente para decidir qué hacer:

PackageInfo info = getPackageManager().getPackageInfo("com.twitter.android", 0); if(info.applicationInfo.enabled) intent = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?user_id=2343965036")); else intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/wrkoutapp"));


Según la respuesta de fg.radigales, esto es lo que usé para iniciar la aplicación, si es posible, pero de lo contrario recurrir al navegador:

Intent intent = null; try { // get the Twitter app if possible this.getPackageManager().getPackageInfo("com.twitter.android", 0); intent = new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?user_id=USERID")); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); } catch (Exception e) { // no Twitter app, revert to browser intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/PROFILENAME")); } this.startActivity(intent);

ACTUALIZAR

Añadido intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); para solucionar un problema donde Twitter se estaba abriendo dentro de mi aplicación en lugar de como una actividad nueva.


Solo prueba este fragmento de código. Esto te ayudará.

//Checking If the app is installed, according to the package name Intent intent = new Intent(); intent.setType("text/plain"); intent.setAction(Intent.ACTION_SEND); final PackageManager packageManager = getPackageManager(); List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); for (ResolveInfo resolveInfo : list) { String packageName = resolveInfo.activityInfo.packageName; //In case that the app is installed, lunch it. if (packageName != null && packageName.equals("com.twitter.android")) { try { String formattedTwitterAddress = "twitter://user/" ; Intent browseTwitter = new Intent(Intent.ACTION_VIEW, Uri.parse(formattedTwitterAddress)); long twitterId = <Here is the place for the twitter id> browseTwitter.putExtra("user_id", twitterId); startActivity(browseTwitter); return; } catch (Exception e) { } } } //If it gets here it means that the twitter app is not installed. Therefor, lunch the browser. try { String twitterName = <Put the twitter name here> String formattedTwitterAddress = "http://twitter.com/" + twitterName; Intent browseTwitter = new Intent(Intent.ACTION_VIEW, Uri.parse(formattedTwitterAddress)); startActivity(browseTwitter); } catch (Exception e) { }