我有一个简单的应用程序将图像(Base64编码)发送到服务器,服务器获取此数据正常,因为PHP脚本向我发送附带Base64数据的电子邮件。但是,在任务完成后,toast永远不会显示。数据发布后如何显示Toast?
我认为问题是在上下文中。
更新
我已经更新了链接,因为我已经将上传逻辑移动到另一个.java文件中。
答案 0 :(得分:0)
您的样品看起来不错。如果mContext变量所属的Activity当前处于活动状态,则应该显示。不是在其他情况下。
尝试此修改:
new UploadImage(ImageUploadActivity.this).execute(sentImage);
http://developer.android.com/guide/topics/ui/notifiers/toasts.html
Android toast.makeText context error
编辑: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