java - Asynctask and Handler class - can't share variable -


i have service includes asynctask , handler classes. asynctask , handler should share variable. use static volatile variable issendmessage because think there 2 threads, i'm not sure. problem variable in while loop doesn't change. don't know mistake is. here snippet of code.

    public class services extends service  {      static volatile boolean issendmessage = false;       @override         public ibinder onbind(intent intent) {             return null;         }       @override         public int onstartcommand (intent intent, int flags, int startid) {              new connectionserverasynctask().execute();              return service.start_sticky;     }      public class connectionserverasynctask extends asynctask<void, result, void> {     private boolean finish = false;       @override      protected void onpreexecute() {        super.onpreexecute();      }      @override     protected void doinbackground(void... params) {       while(!finish){          log.i("issendmessage",string.valueof(issendmessage));           }     }        @override     protected void onpostexecute(void avoid) {         super.onpostexecute(avoid);     }    }      public static class messagehandler extends handler{              @override             public void handlemessage(message msg) {                log.i("messagehandler","handlemessage");                issendmessage = true;                           }         }       } 

onpostexecute() automatically uses ui thread there's not need use handler in combination async task. write code want executed there anywhere else.

also loop while(!finish), didn't see anyplace finish set true.


Comments

Popular posts from this blog

javascript - AngularJS custom datepicker directive -

javascript - jQuery date picker - Disable dates after the selection from the first date picker -