2017-11-02 1 views
0

私のアプリではTwitterでログインしています。このセッションを使って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"); 
       } 
      }); 
     } 
    } 

ノートにビットマップイメージを共有するために、このコードを使用しています:私はリンク

答えて

0

としての意図を介して画像を共有したくないあなたは、さらに成功から次のメソッドを呼び出す必要があります方法:。

無効uploadTweetWithMedia(TwitterApiClientクライアント、TwitterSessionセッション、文字列のテキスト、文字列MEDIAID){ client.getStatusesService()更新(テキスト、MEDIAID、真、NULL、NULL、NULL、NULL、NULL、NULL)(){ @Override public void success(結果の結果){ Log.v( "update"、 "success" + result.data.idStr); }

     @Override 
         public void failure(TwitterException exception) { 
          Log.v("update", "failure " + exception.getMessage()); 
         } 
        }); 
} 
関連する問題