###前提・実現したいこと
Twitter4jを用いてアップロードした画像のmediaIDを取得するmethodを作りたい
###発生している問題・エラーメッセージ
どのタイミングでmediaIDをreturnすればいいかわからない
###該当のソースコード
java
1public long twitterUploadImage(final Twitter mTwitter, final String filepath, final Context context){ 2 AsyncTask<String, Void, Boolean> task = new AsyncTask<String, Void, Boolean>(){ 3 4 @Override 5 protected Boolean doInBackground(String... strings) { 6 try { 7 //ここで画像をアップロード 8 media = mTwitter.uploadMedia(new File(filepath)); 9 mediaID = media.getMediaId(); 10 return true; 11 } catch (TwitterException e) { 12 e.printStackTrace(); 13 return false; 14 } 15 } 16 17 //アップロードの可否をToast 18 @Override 19 protected void onPostExecute(Boolean tweetResult){ 20 if(tweetResult){ 21 showToast(context,"画像をアップロードしました"); 22 }else{ 23 showToast(context,"画像をアップロードできませんでした"); 24 } 25 } 26 }; 27 task.execute(filepath); 28 return mediaID; 29 }
と書いたのですが、これだと画像がアップロードされる前にmediaIDがreturnされてしまい、デフォルト値の0しか返ってきません。
###補足情報(言語/FW/ツール等のバージョンなど)
Android Studio3.0、Twitter4j-4.0.6を使用しています
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/12 10:27
2017/11/12 11:29
2017/11/12 12:20