2014-10-28 6 views
7

Nella mia app ho bisogno di condividere collegamento per il sito promozionale via Facebook e Twitter, in facebook abbiamo ottenuto qualcosa come "share dialog" o fascio post comeCome condividere il link tramite twitter in Android?

Request request = new Request(Session.getActiveSession(), "me/feed", bundle, HttpMethod.POST, 
     new Request.Callback(){ 
       @Override 
       public void onCompleted(Response response) { 
        ... 
       } 
      }); 

ma non ci sono Twitter SDK per Android (trully io uso twitter4j) e nessun modo per pubblicare il pacchetto

così come twittare il link tramite twitter?

risposta

1

Si può fare tramite l'intenzione in questo modo:

Intent sendIntent = new Intent(); 
sendIntent.setAction(Intent.ACTION_SEND); 
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send."); 
sendIntent.setType("text/plain"); 
startActivity(sendIntent); 

questo aprirà una lista con le applicazioni già installate che possono rispondere l'intento, come Gmail, Facebook e Twitter ....

È possibile trovare maggiori informazioni qui: http://developer.android.com/training/sharing/send.html

Inoltre, se si desidera chiamare direttamente twitter e non si vuole scegliere, dare un'occhiata a this answer

2

Se si invia il testo con link come " Ecco il nostro link: http://stackoverflow.com "- Twitter lo capirà e riceverà informazioni dal tuo link e lo mostrerà - come capisco devi vedere il tuo link riconosciuto nel feed di Twitter. Per pubblicare link potete fare intento come @Adrian Sicaru o creare il proprio dialogo personalizzato utilizzando AsyncTask con twitter4j come si parla:

@Override 
protected Bundle doInBackground(Bundle... params) { 
    Bundle args = params[0]; 
    Bundle result = new Bundle(); 

    String paramMessage = args.getString(MESSAGE); 
    String paramLink = args.getString(LINK); 

    ConfigurationBuilder builder = new ConfigurationBuilder(); 
    builder.setOAuthConsumerKey("your ConsumerKey"); 
    builder.setOAuthConsumerSecret("your ConsumerSecret"); 

    String accessToken = "your Token"; 
    String accessTokenSecret = "your Secret"; 

    TwitterFactory factory = new TwitterFactory(builder.build()); 
    mTwitter = factory.getInstance(new AccessToken(accessToken, accessTokenSecret)); 
    try { 
     StatusUpdate status = new StatusUpdate(paramMessage); 

     if (paramLink != null) { 
      status = new StatusUpdate(paramMessage + " " + paramLink); 
     } 
     mTwitter.updateStatus(status); 
    } catch (TwitterException e) { 
     result.putString(RESULT_ERROR, e.getMessage()); 
    } 
    return result; 
} 
1

Come @TribblerWare risposero basta scrivere collegamento nel Tweet e twitter riconobbe.

Tra l'altro, è possibile utilizzare ASNE library per questo - solo l'autorizzazione degli utenti e utilizzare requestPostLink con fascio come parametro più dettagliata

Bundle postParams = new Bundle(); 
postParams.putString(SocialNetwork.BUNDLE_LINK, link); 
socialNetwork.requestPostLink(postParams, message, postingComplete); 

si può vedere nella tutorial