以下は、実行時にダイアログを実装し、完了時にトーストを実装しようとしている、私が作成した非同期クラスです。
トーストやダイアログが表示されることはありません。
私のasykTask:
public class EmailPictureService extends HTTPRequestAsyncTask {
Context context;
ProgressDialog dialog;
public EmailPictureService(Context context){
this.context = context;
//dialog = new ProgressDialog(context);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(Object... params) {
Log.v("Start EMAIL SERVICE","START YOPPPPPPPPPPPPPPPPPPPPPP!");
dialog = new ProgressDialog(context);
dialog.setMessage("Sending...");
dialog.setIndeterminate(true);
dialog.show();
HTTPInvoker invoker = new HTTPInvoker();
HttpResponse response = null;
EmailPicture emailPicture = new EmailPicture();
emailPicture.setDeviceType("TABLET");
emailPicture.setStoreId((String)params[1]);
emailPicture.setNotificationType("E");
emailPicture.setRecipientName((String)params[2]);
emailPicture.setRecipientEmail((String)params[3]);
String jsonString = JSONConverter.toJson(emailPicture);
response = invoker.invokePOSTFileService((String)params[0], jsonString, (File[])params[4]);
return parseHttpResponse(response);
}
@Override
protected void onPostExecute(String result) {
String msg = "";
if (dialog.isShowing()) {
dialog.dismiss();
}
if (result != null) {
JSONObject jsonObject = null;
long errorCode = 0;
try {
jsonObject = new JSONObject((String) result);
errorCode = jsonObject.getLong("errorCode");
if(errorCode<1){
msg ="Success, your picture has been sent";
}else{
msg = "Sorry, there was an error sending your picture. Please try again later.";
}
Log.i(Constants.TAG, "Error Code...." + errorCode);
Toast toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT);
toast.show();
} catch (JSONException e1) {
Log.i(Constants.TAG, "Exception...." + e1);
Toast toast = Toast.makeText(context, "Failure: "+e1, Toast.LENGTH_SHORT);
toast.show();
e1.printStackTrace();
}
}
}
}
私の活動からそれをどのように呼ぶか:
new EmailPictureService(this).execute(url,storeID,cusName, cusEmail, new File[]{file});
私のログ