【问题标题】:Sharing image on twitter from android programatically以编程方式在 twitter 上从 android 共享图像
【发布时间】:2017-11-02 15:12:03
【问题描述】:

在我的应用程序中,我通过 Twitter 登录,它给了我会话,通过使用这个会话,我可以在 Twitter 上发布图像, 但问题是重启后我已经通过 Twitter 登录到我的应用程序,但会话不可用。我必须再次登录才能获得会话。 本机 Twitter 应用程序安装在我的设备上,我只需获取该用户的会话,该用户已经通过 Twitter 登录到 Twitter 应用程序和我的应用程序。有没有办法得到这个。

我正在使用此代码在 Twitter 上分享位图图像

public void shareOnTwitter(Bitmap bitmap){
        final TwitterSession session = TwitterCore.getInstance().getSessionManager()
                .getActiveSession();
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
        byte[] byteArray = bytes.toByteArray();
        Twitter.getInstance().getTwitterAuthConfig();
        if(session != null) {
            TwitterApiClient twitterApiClient = new TwitterApiClient(session);

            MediaType mediaType = MediaType.parse("image/*");
            RequestBody body = RequestBody.create(mediaType, byteArray);

            Call<Media> mediaCall = twitterApiClient.getMediaService().upload(body, null, null);
            mediaCall.enqueue(new Callback<Media>() {
                @Override
                public void success(Result<Media> result) {
                    String mediaIdString = result.data.mediaIdString;

                }

                @Override
                public void failure(TwitterException exception) {
                    AppUtil.log("Twitter", "Twitter media failed");
                }
            });
        }
    }

注意:我不想通过 Intent 作为链接分享图片

【问题讨论】:

    标签: android session twitter upload


    【解决方案1】:

    您还需要从成功方法中调用以下方法:

    void uploadTweetWithMedia(TwitterApiClient 客户端,TwitterSession 会话,字符串文本,字符串 mediaId) { client.getStatusesService().update(text, null, null, null, null, null, null, true, mediaId) .enqueue( 新回调(){ @覆盖 公共无效成功(结果结果){ Log.v("更新", "成功" + result.data.idStr); }

                            @Override
                            public void failure(TwitterException exception) {
                                Log.v("update", "failure " + exception.getMessage());
                            }
                        });
    }
    

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 2023-03-24
      • 2016-08-31
      • 1970-01-01
      • 2017-12-07
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多