A 액티비티 쓰레드안의 와일문을 돌릴겁니다.
B 액티비티의 버튼 (On/Off) 에 의해 A의 전역변수로 인해서 와일문이 동작하거나 끄게 하고싶은데
B 액티비티에서 On을 눌러도 와일문이 바로 실행되지 않고
On버튼을 누른뒤 A액티비티로 이동해야만 와일문이 실행이 됩니다..
Off는 제대로 작동합니다.(Off버튼 누를시 바로 와일문이 멈춤)
무엇이 문제인지 모르겠습니다..
class A extends Activity {
public static boolean threadFlag;
...생략
...쓰레드부분
private static class testAsync extends AsyncTask<Void, Integer, Void>{
@Override
protected Void doInBackground(Void... params) {
long before_millis = -1;
long current_millis = -1;
while(threadFlag){
current_millis = System.currentTimeMillis();
if(current_millis - before_millis >1000)
{
Log.d("AsyncTask", "on...");
before_millis = current_millis;
}
}
return null;
}
}
}
class B extends Activity {
public void OnCreate() {
OnBtn 클릭시...
A.threadFlag=true;
OffBtn 클릭시...
A.threadFlag=false;
}
}