画像(Base64エンコード)をサーバーに送信する単純なアプリケーションがあります。PHPスクリプトがBase64データが添付された電子メールを送信するため、サーバーはこのデータを正常に取得します。ただし、タスクが完了した後、トーストは表示されません。データが投稿された後にトーストが表示されるようにするにはどうすればよいですか?
問題は文脈の中にあると思います。
アップデート
アップロードロジックを別の.javaファイルに移動したため、リンクを更新しました。
画像(Base64エンコード)をサーバーに送信する単純なアプリケーションがあります。PHPスクリプトがBase64データが添付された電子メールを送信するため、サーバーはこのデータを正常に取得します。ただし、タスクが完了した後、トーストは表示されません。データが投稿された後にトーストが表示されるようにするにはどうすればよいですか?
問題は文脈の中にあると思います。
アップデート
アップロードロジックを別の.javaファイルに移動したため、リンクを更新しました。
サンプルは問題ないように見えます。mContext変数が属するActivityが現在アクティブな場合は、表示されるはずです。それ以外の場合はありません。
この変更を試してください:
new UploadImage(ImageUploadActivity.this).execute(sentImage);
http://developer.android.com/guide/topics/ui/notifiers/toasts.htmlAndroidtoast.makeText
コンテキストエラー
編集:AsyncTask
の間違った型の宣言
あなたのAsyncTask
宣言は次のようになりますclass UploadImage extends AsyncTask<String, Void, String>
これの意味は:
doInBackground(String... arg)
doInBackground
ですonPostExecute
したがって、onPostExecute
宣言を次 のように変更します。
protected void onPostExecute(String result)
または、の戻り型をdoInBackground
に<Bitmap>
変更し、クラス宣言を次のように変更します。class UploadImage extends AsyncTask<String, Void, Bitmap>
http://developer.android.com/reference/android/os/AsyncTask.html