2012-08-23 7 views

risposta

6

Penso che sia una cattiva idea provare a copiare l'interfaccia utente da una piattaforma a un'altra.

Consiglierei di utilizzare la quota di intenti:

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

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

E 'davvero facile da usare e integrato con la piattaforma.

+1

Sì ok ma qui non voglio sparare a Intent per postare su Twitter. Sto usando twitter4j sdk per integrare twitter nella mia app e voglio postare con esso. Sto solo chiedendo è Twitter fornire questa finestra di dialogo anche in Android SDK. Questa è solo una vista web. –

+0

Non voglio usare Intent perché l'utente deve avere twitter nel suo dispositivo, ma cosa succede se l'utente non ha twitter nel suo dispositivo –

+0

Ok, è una buona ragione :). Non penso che questo sia fornito da sdk. Ma penso che sia facile reindirizzare la tua webview alla pagina post corrispondente sulla versione mobile di Twitter. – Aerilys

2

è possibile farlo trovando app twitter dall'intenzione di condivisione se è installato, ma in caso contrario si può gestire tale condizione e aprire la pagina di app di Twitter come nel mio codice sottostante, poiché ho trovato twitter4j difficile da integrare e dare risultati incoerenza .

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

Proprio quello che stavo cercando. C'è un modo migliore per indirizzare il PostActivity su Twitter? – localhost

1

Creare questa vista in xml e utilizzarla. here è un tutorial per la pubblicazione di string su twitter utilizzando twitter4j

Problemi correlati