una tutorial tiempo thread tarea studio servicios segundo plano peticiones example ejemplo ejecutar codigo cierto cada asynctask asincronas android asynchronous android-asynctask progressdialog

tutorial - thread android studio ejemplo



Excepción de error al mostrar el diálogo de progreso en la tarea asíncrona (1)

Solo asegúrese de no finalizar su actividad de SharePicForm antes de mostrar el cuadro de diálogo. El error muestra que su actividad de SharePicForm no existe mientras se muestra el diálogo. O puede ser que ya está salido.

Actualmente estoy trabajando en una tarea asincrónica para publicar algunos datos en la API, el problema es que lanzará una excepción cuando estaba trabajando con el diálogo de progreso. La tarea asincrónica se denomina "APIhandler" que manejará varios tipos de casos.

Aquí está el constructor

public APIHandler(Context _ctx,EasyTracker _tracker,String _formType) { this.ctx = _ctx; this.tracker = _tracker; this.formType = _formType; SharedPreferences prefs = ctx.getSharedPreferences("userInfo", 0); token = prefs.getString("token",""); memId = prefs.getString("memId",""); if (formType.equals("uploadImg")) { pd = ProgressDialog.show(ctx, ctx.getResources().getString(R.string.sys_info),ctx.getResources().getString(R.string.publishing)); } else { pd = ProgressDialog.show(ctx, ctx.getResources().getString(R.string.sys_info),ctx.getResources().getString(R.string.loading)); } }

Aquí está el onpostexecute

@Override protected void onPostExecute(JSONObject result) { if (pd != null && pd.isShowing()) pd.dismiss(); }

Aquí está la manera de llamar a APIhandler

new APIHandler(ctx,tracker,"login").execute(ctx,session.getAccessToken());

El código de error (observe que falla en el cuadro de diálogo.show)

02-18 14:17:17.942: E/WindowManager(440): Activity com.project.hkseven.Activity.SharePicForm has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4231c268 that was originally added here 02-18 14:17:17.942: E/WindowManager(440): android.view.WindowLeaked: Activity com.project.hkseven.Activity.SharePicForm has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4231c268 that was originally added here 02-18 14:17:17.942: E/WindowManager(440): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:439) 02-18 14:17:17.942: E/WindowManager(440): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:307) 02-18 14:17:17.942: E/WindowManager(440): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:228) 02-18 14:17:17.942: E/WindowManager(440): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:153) 02-18 14:17:17.942: E/WindowManager(440): at android.view.Window$LocalWindowManager.addView(Window.java:586) 02-18 14:17:17.942: E/WindowManager(440): at android.app.Dialog.show(Dialog.java:277) 02-18 14:17:17.942: E/WindowManager(440): at android.app.ProgressDialog.show(ProgressDialog.java:116) 02-18 14:17:17.942: E/WindowManager(440): at android.app.ProgressDialog.show(ProgressDialog.java:99) 02-18 14:17:17.942: E/WindowManager(440): at android.app.ProgressDialog.show(ProgressDialog.java:94) 02-18 14:17:17.942: E/WindowManager(440): at com.project.hkseven.Utility.APIHandler.<init>(APIHandler.java:62) 02-18 14:17:17.942: E/WindowManager(440): at com.project.hkseven.Activity.SharePicForm$4.onCompleted(SharePicForm.java:282) 02-18 14:17:17.942: E/WindowManager(440): at com.facebook.Request$4.run(Request.java:1669) 02-18 14:17:17.942: E/WindowManager(440): at android.os.Handler.handleCallback(Handler.java:615) 02-18 14:17:17.942: E/WindowManager(440): at android.os.Handler.dispatchMessage(Handler.java:92) 02-18 14:17:17.942: E/WindowManager(440): at android.os.Looper.loop(Looper.java:137) 02-18 14:17:17.942: E/WindowManager(440): at android.app.ActivityThread.main(ActivityThread.java:4882) 02-18 14:17:17.942: E/WindowManager(440): at java.lang.reflect.Method.invokeNative(Native Method) 02-18 14:17:17.942: E/WindowManager(440): at java.lang.reflect.Method.invoke(Method.java:511) 02-18 14:17:17.942: E/WindowManager(440): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 02-18 14:17:17.942: E/WindowManager(440): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) 02-18 14:17:17.942: E/WindowManager(440): at dalvik.system.NativeStart.main(Native Method)

Como solucionar el problema ? Muchas gracias