2014-10-28 21 views
7

Trong ứng dụng của tôi, tôi cần phải chia sẻ liên kết cho trang web quảng cáo qua Facebook và twitter, trong facebook chúng tôi đã nhận một cái gì đó giống như "share dialog" hoặc đăng bó nhưCách chia sẻ liên kết qua twitter trong android?

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

nhưng không có twitter sdk cho android (trully tôi sử dụng twitter4j) và không có cách nào để đăng gói

để biết cách liên kết tweet qua twitter?

Trả lời

1

Bạn có thể làm điều đó thông qua ý định như thế này:

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); 

này sẽ mở ra một danh sách với các ứng dụng đã được cài đặt mà có thể trả lời những ý định, như gmail, facebook và twitter ....

Bạn có thể tìm thêm thông tin ở đây: http://developer.android.com/training/sharing/send.html

Ngoài ra, nếu bạn muốn trực tiếp gọi twitter và không muốn để lựa chọn, có một cái nhìn tại this answer

2

Nếu bạn gửi văn bản với liên kết như " Đây là liên kết của chúng tôi: http://stackoverflow.com "- twitter sẽ hiểu nó và nhận thông tin từ liên kết của bạn và hiển thị nó - như tôi hiểu bạn cần xem liên kết được công nhận của bạn trong nguồn cấp dữ liệu twitter. Để gửi liên kết mà bạn có thể làm cho ý định như @Adrian Sicaru hoặc tạo hộp thoại tùy chỉnh của riêng bạn sử dụng AsyncTask với twitter4j như bạn đề cập:

@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

Giống như @TribblerWare trả lời chỉ cần viết liên kết trong tweet và twitter nhận ra nó.

Bằng cách này, bạn có thể sử dụng ASNE library cho điều này - chỉ cần ủy quyền cho người sử dụng và sử dụng requestPostLink với bó như tham số

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

nhiều chi tiết, bạn có thể thấy trong tutorial

Các vấn đề liên quan