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