如何在android中通过twitter分享链接?

在我的应用程序中,我需要通过Facebook和Twitter分享促销网站的链接,在Facebook中我们有类似“共享对话框”或发布包

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

但没有Twitter的SDK的Android(trully我使用twitter4j),并没有办法发布捆绑

所以如何通过twitter发送推文链接?


如果您发送链接为“这是我们的链接:http://stackoverflow.com”链接的文本 - twitter会理解它,并从您的链接获取信息并显示它 - 据我所知,您需要在Twitter提要中看到您认可的链接。 要发布链接,您可以使用@Adrian Sicaru的意图,或使用twitter4j的asynctask创建自己的自定义对话框,如您所述:

@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;
}

你可以通过这样的意图来做到这一点:

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

这将打开一个列表,其中应用程序已安装,可以回答意图,如Gmail,Facebook和... Twitter。

你可以在这里找到更多的信息:http://developer.android.com/training/sharing/send.html

另外,如果您想直接致电Twitter并且不想选择,请查看此答案


就像@TribblerWare回答,只需在tweet上写下链接,Twitter即可认出它。

顺便说一下,您可以使用ASNE库 - 只需授权用户,并使用带bundle的requestPostLink作为参数

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

更详细的你可以在教程中看到

链接地址: http://www.djcxy.com/p/82209.html

上一篇: How to share link via twitter in android?

下一篇: matplotlib 1.4.2 with Seaborn: line markers not functioning