Здесь я столкнулся с подобными вопросами, но не смог исправить эту проблему.AsyncTask throwing android.view.WindowLeaked error
I KNOW Я показываю индикатор выполнения после того, как я вышел из этой операции, но я не понимаю, где я ошибаюсь в своем коде, я показываю индикатор выполнения в onPreExecute
и отклоняю его в onPostExecute
.
КОД
private class NetCheck extends AsyncTask <Void, Void, Boolean>{
private ProgressDialog nDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
nDialog = new ProgressDialog(Login.this);
nDialog.setTitle("Checking Network");
nDialog.setMessage("Loading..");
nDialog.setIndeterminate(false);
nDialog.setCancelable(true);
nDialog.show();
}
@Override
protected Boolean doInBackground(Void... params) {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo nf = cm.getActiveNetworkInfo();
if(nf != null && nf.isConnected()) {
try {
URL url = new URL("http://www.google.com");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setConnectTimeout(5000);
urlc.connect();
if(urlc.getResponseCode() == 200) {
return true;
}
}
catch(MalformedURLException e1) {
e1.printStackTrace();
}
catch(IOException e2) {
e2.printStackTrace();
}
}
return false;
}
@Override
protected void onPostExecute(Boolean th) {
if(th == true) {
nDialog.dismiss();
new ProcessLogin().execute();
}
else{
nDialog.dismiss();
errorMSG.setText("Error in Network Connection");
}
}
}
ОШИБКА ЖУРНАЛЫ
E/WindowManager: android.view.WindowLeaked: Activity boxyworldreseller.com.boxyworldreseller.Login has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{322c8153 V.E..... R......D 0,0-1026,483} that was originally added here
at android.view.ViewRootImpl.<init>(ViewRootImpl.java:363)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:271)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
at android.app.Dialog.show(Dialog.java:298)
at boxyworldreseller.com.boxyworldreseller.Login$NetCheck.onPreExecute(Login.java:92)
at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:591)
at android.os.AsyncTask.execute(AsyncTask.java:539)
at boxyworldreseller.com.boxyworldreseller.Login.NetAsync(Login.java:77)
at boxyworldreseller.com.boxyworldreseller.Login$3.onClick(Login.java:68)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
@Selvin У меня было eno ugh поиска, я вижу те же вопросы, но как я показываю диалог перед тем, как покинуть деятельность, на самом деле я вообще не покидаю работу. –