2012-08-23 22 views

Respuesta

6

Creo que es una mala idea intentar copiar la IU de una plataforma a otra.

os recomiendo que uses la intención de la acción:

http://mobile.tutsplus.com/tutorials/android/android-sdk-implement-a-share-intent/

http://developer.android.com/training/sharing/send.html

Es muy fácil de usar y se integra con la plataforma.

+1

Sí, está bien, pero aquí no quiero activar la intención de publicar en twitter. Estoy usando twitter4j sdk para integrar Twitter en mi aplicación y quiero publicarlo. Solo estoy preguntando si Twitter proporciona este diálogo en Android SDK también. Esto es solo una vista web. –

+0

No quiero usar Intent porque para ese usuario debe tener twitter en su dispositivo, pero ¿qué pasa si el usuario no tiene twitter en su dispositivo? –

+0

Está bien, es una buena razón :). No creo que esto sea provisto por sdk. Pero creo que es fácil redirigir su vista web a la página de publicación correspondiente en la versión móvil de Twitter. – Aerilys

2

puede hacer esto buscando la aplicación de Twitter desde la intención de compartir si está instalada pero si no puede manejar esa condición y abrir la página de la aplicación de Twitter como en mi código siguiente, ya que encontré twitter4j difícil de integrar y dar resultados de inconsistencia .

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND); 
        shareIntent.setType("text/plain"); 
        shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "subject"); 
        shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, " text"; 

        final PackageManager pm = v.getContext().getPackageManager(); 
        final List<ResolveInfo> activityList = pm.queryIntentActivities(shareIntent, 0); 

        boolean twtchk=false; 

        for (final ResolveInfo app : activityList) { 

         if ("com.twitter.android.PostActivity".equals(app.activityInfo.name)) { 
          final ActivityInfo activity = app.activityInfo; 
          System.out.println("package==="+activity.applicationInfo.packageName); 
          final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name); 
          shareIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
          shareIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
          shareIntent.setComponent(name); 
          v.getContext().startActivity(shareIntent); 
          twtchk=true; 
          break; 
         } 


        } 

        if(!twtchk) 
        { 
         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/yourapp")); 

         startActivity(intent); 
        } 
+0

Justo lo que estaba buscando. ¿Hay alguna forma mejor de orientar la actividad de publicación de Twitter? – localhost

1

Crea esta vista en xml y úsala. here es un tutorial para publicar una cadena en twitter usando twitter4j

Cuestiones relacionadas