如何在twitter上分享图片?

时间:2012-03-03 07:38:59

标签: android twitter

  

我想创建一个在twitter上共享图像的应用程序   但是当我点击按钮时,它显示消息“没有应用程序执行此操作”   以下代码有什么问题吗?

private void share()
    {
    // TODO Auto-generated method stub
        Intent tweetIntent = new Intent(Intent.ACTION_SEND);
        tweetIntent.setType("application/twitter");
        tweetIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Test; please ignore");

        startActivity(Intent.createChooser(tweetIntent, "Choose one"));

    }

4 个答案:

答案 0 :(得分:1)

需要安装Twitter应用程序,并且用户可能需要主动登录(大多数人都是)才能使用它。我不认为tweetIntent.setType("application/twitter");有效,我从未见过。您可以通过过滤应用程序包名称tweetIntent.setPackage("com.twitter.android");来限制Twitter的份额。您需要使用PackageManager验证这是否可用。以下是可能的代码,我没有对此进行测试。

Intent tweetIntent = new Intent(Intent.ACTION_SEND);
tweetIntent.setPackage("com.twitter.android");
tweetIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Test; please ignore");

PackageManager pm = context.getPackageManager();
if(pm.queryIntentActivities (tweetIntent, 0).size() > 0) { // If there's at least 1 intent that matches then the intent is valid.
  startActivity(Intent.createChooser(tweetIntent, "Choose one"));
} else {
  // Not supported.
}

Android的共享意图用于将数据发送到其他应用程序。您可以将共享限制为特定的应用程序,就像您正在做的那样。但是,你正在反对Android的工作原理,你通过这样做来打开自己的不兼容问题。您可能最好直接使用Twitter API

理由是,如果用户没有安装Twitter,那么很可能他们并不真正关心它。但他们可能希望在Facebook等其他服务上分享内容。

答案 1 :(得分:0)

尝试twitpic api在Twitter上分享图片。

答案 2 :(得分:0)

经过研究,我发现你必须登录twitter并创建一个应用程序,然后twitter将生成四个参数:consumer_key,consumer_key_secret,access_token,access_token_secret。有了这个秘密,你可以这样做:

Configuration conf = new ConfigurationBuilder().setMediaProviderAPIKey(config.getMediaProvider())
                        .setOAuthConsumerKey("...")
                        .setOAuthConsumerSecret(""...)
                        .setOAuthAccessToken("...")
                        .setOAuthAccessTokenSecret("...")
                        .build();
ImageUpload uploader = new ImageUploadFactory(conf).getInstance();

然后您可以使用上传器上传您的信息。

答案 3 :(得分:0)

您也可以使用TweetComposer。您可以查看:working example with Tweet Composer Kit

来自Twitter的文档:

  

TweetComposer Kit提供了两种撰写推文的方法:

     
      
  1. 启动Twitter应用程序的Tweet Composer - 一个功能丰富的作曲家,支持附加图像和视频。
  2.   
  3. 推出Twitter Kit App Card Composer - 一款轻量级作曲家,可让用户在您的应用程序中使用App卡撰写推文。
  4.         

    如果未安装Twitter应用程序,意图将在浏览器中启动twitter.com,但指定的图像将被忽略。

如果符合您的需求,它可以是替代解决方案。祝你好运!