Android-java.lang.IllegalArgumentException

I already saw this question . But I could not understand what the problem was. I am sending an email in the background using BackgroundMailin my class ImageSyncReciever. But when the email is sent, my application crashes, giving me the following error.

FATAL EXCEPTION: main Process: com.thumbsol.accuratemobileassetsmanagament, PID: 7480 java.lang.IllegalArgumentException: View = com.android.internal.policy.impl.PhoneWindow $ DecorView {300e55de VE .... R ..... I . 0,0-0,0} is not connected to the window manager in android.view.WindowManagerGlobal.findViewLocked (WindowManagerGlobal.java:434) on android.view.WindowManagerGlobal.removeView (WindowManagerGlobal.java:353) in android.view.WindowManagerImpl.removeViewImmediate (WindowManagerImpl.java:116) in android.app.Dialog.dismissDialog (Dialog.javahaps82) in android.app.Dialog.dismiss (Dialog.javahaps65) at com. creativityapps.gmailbackgroundlibrary.BackgroundMail $ SendEmailTask.onPostExecute (BackgroundMail.java:302) at com.creativityapps.gmailbackgroundlibrary.BackgroundMail $ SendEmailTask.onPostExecute (BackgroundMail.java:265) at android.os.AsyncTask.finish (AsyncTask.java:636) at android.os.AsyncTask.access $ 500 (AsyncTask.java:177) at android.os.AsyncTask $ InternalHandler.handleMessage ( AsyncTask.java:653) on android.os.Handler.dispatchMessage (Handler.java:111) on android.os.Looper.loop (Looper.java:194) at android.app.ActivityThread.main (ActivityThread.java:5660) in java.lang.reflect.Method.invoke (native method) in java.lang.reflect.Method.invoke (Method.javahaps72) at com .android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:963) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:758)main (ActivityThread.java:5660) in java.lang.reflect.Method.invoke (own method) in java.lang.reflect.Method.invoke (Method.javahaps72) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:963) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:758)main (ActivityThread.java:5660) in java.lang.reflect.Method.invoke (own method) in java.lang.reflect.Method.invoke (Method.javahaps72) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:963) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:758)invoke (native method) in java.lang.reflect.Method.invoke (Method.javahaps72) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:963) at com.android.internal. os.ZygoteInit.main (ZygoteInit.java:758)invoke (native method) in java.lang.reflect.Method.invoke (Method.javahaps72) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:963) at com.android.internal. os.ZygoteInit.main (ZygoteInit.java:758)963) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:758)963) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:758)

,

     if (response.body().getStatus().equals("OK")) {

                            snapManager.updateSnapStatus(AssetsManagementContract.SnapEntry.COLUMN_SITE_SNAP, snap.getSnapName(), Constants.SNAP_SYNCED);
                            Intent broadcastSyc = new Intent();
                            broadcastSyc.setAction(Common.GetSyncImageAction());
                            broadcastSyc.putExtra("STATUS", true);
                            mContext.sendBroadcast(broadcastSyc);
                            sendImage(mContext);
                            BackgroundMail.newBuilder(mContext)
                                    .withUsername("gmail id")
                                    .withPassword("pass")
                                    .withMailto("gmail id")
                                    .withType(BackgroundMail.TYPE_PLAIN)
                                    .withSubject("New Meter Installation")
                                    .withBody("Meter #" + msn + " is "+ com+ " and "+ status)
                                    .send();

                        }

?

. .

1 BackgroudMailer

public class SendEmailTask extends AsyncTask<String, Void, Boolean> {
    private ProgressDialog progressDialog;

    public SendEmailTask() { //error onPostExecute(BackgroundMail.java:265)
    }

    protected void onPreExecute() {
        super.onPreExecute();
        if(BackgroundMail.this.processVisibility) {
            this.progressDialog = new ProgressDialog(BackgroundMail.this.mContext);
            this.progressDialog.setMessage(BackgroundMail.this.sendingMessage);
            this.progressDialog.setCancelable(false);
            this.progressDialog.show();
        }

    }

    protected Boolean doInBackground(String... arg0) {
        try {
            GmailSender sender = new GmailSender(BackgroundMail.this.username, BackgroundMail.this.password);
            if(!BackgroundMail.this.attachments.isEmpty()) {
                for(int i = 0; i < BackgroundMail.this.attachments.size(); ++i) {
                    if(!((String)BackgroundMail.this.attachments.get(i)).isEmpty()) {
                        sender.addAttachment((String)BackgroundMail.this.attachments.get(i));
                    }
                }
            }

            sender.sendMail(BackgroundMail.this.subject, BackgroundMail.this.body, BackgroundMail.this.username, BackgroundMail.this.mailto, BackgroundMail.this.type);
        } catch (Exception var4) {
            var4.printStackTrace();
            return Boolean.valueOf(false);
        }

        return Boolean.valueOf(true);
    }

    protected void onPostExecute(Boolean result) {
        super.onPostExecute(result);
        if(BackgroundMail.this.processVisibility) {
            this.progressDialog.dismiss(); // error onPostExecute(BackgroundMail.java:302)
            if(result.booleanValue()) {
                if(!TextUtils.isEmpty(BackgroundMail.this.sendingMessageSuccess)) {
                    Toast.makeText(BackgroundMail.this.mContext, BackgroundMail.this.sendingMessageSuccess, 0).show();
                }

                if(BackgroundMail.this.onSuccessCallback != null) {
                    BackgroundMail.this.onSuccessCallback.onSuccess();
                }
            } else {
                if(!TextUtils.isEmpty(BackgroundMail.this.sendingMessageError)) {
                    Toast.makeText(BackgroundMail.this.mContext, BackgroundMail.this.sendingMessageError, 0).show();
                }

                if(BackgroundMail.this.onFailCallback != null) {
                    BackgroundMail.this.onFailCallback.onFail();
                }
            }
        }

    }
}

, , .

0
1

onPostExecute , , :

this.progressDialog.dismiss();

isShowing ( - ..)

if (progressDialog != null && progressDialog.isShowing()) { 
   progressDialog.dismiss();
}

, . , .

0

All Articles