我有一个简单的应用程序,它将图像(Base64 编码)发送到服务器,服务器可以很好地获取这些数据,因为 PHP 脚本向我发送了一封附有 Base64 数据的电子邮件。但是,在任务完成后,吐司永远不会显示。数据发布后如何显示 Toast?
我认为这个问题是在上下文中的。
更新
我已经更新了链接,因为我已经将上传逻辑移到了不同的 .java 文件中。
我有一个简单的应用程序,它将图像(Base64 编码)发送到服务器,服务器可以很好地获取这些数据,因为 PHP 脚本向我发送了一封附有 Base64 数据的电子邮件。但是,在任务完成后,吐司永远不会显示。数据发布后如何显示 Toast?
我认为这个问题是在上下文中的。
更新
我已经更新了链接,因为我已经将上传逻辑移到了不同的 .java 文件中。
您的样品看起来不错。如果 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