3

我有一个简单的应用程序,它将图像(Base64 编码)发送到服务器,服务器可以很好地获取这些数据,因为 PHP 脚本向我发送了一封附有 Base64 数据的电子邮件。但是,在任务完成后,吐司永远不会显示。数据发布后如何显示 Toast?

我认为这个问题是在上下文中的。

http://pastie.org/2616524

更新

我已经更新了链接,因为我已经将上传逻辑移到了不同​​的 .java 文件中。

4

1 回答 1

0

您的样品看起来不错。如果 mContext 变量所属的 Activity 当前处于活动状态,它应该显示。不是在其他情况下。

试试这个修改:

new UploadImage(ImageUploadActivity.this).execute(sentImage);

http://developer.android.com/guide/topics/ui/notifiers/toasts.html
Android toast.makeText 上下文错误

编辑: AsyncTask 的错误类型声明
您的AsyncTask声明看起来像class UploadImage extends AsyncTask<String, Void, String>

这表示:

  • 是参数的类型doInBackground(String... arg)
  • 是进度的类型
  • 是从doInBackground到的结果类型onPostExecute

因此,将您的onPostExecute声明更改为:

protected void onPostExecute(String result)

或更改 to 的返回类型doInBackground并将<Bitmap>类声明更改为:class UploadImage extends AsyncTask<String, Void, Bitmap>

http://developer.android.com/reference/android/os/AsyncTask.html

于 2011-09-30T11:41:18.267 回答