나는 코드를 다음과 같이 있습니다안드로이드 진저 브레드가 : Looper.prepare라고하지 스레드 내부 핸들러를 만들 수 없습니다()
final Context context = this;
Timer timer = new Timer();
timer.schedule(new TimerTask()
{
@Override
public void run()
{
new CheckMessageTask(context).execute(); //ERROR
}
}, 2500, 10 * 60 * 1000); //Every 10 Minutes
타이머가 CheckMessageTask에게 10 분마다 실행해야합니다. 문제는이 오류가 나타납니다이다
는E/AndroidRuntime: FATAL EXCEPTION: Timer-0
java.lang.ExceptionInInitializerError
at -package-CheckMessageService$1.run(CheckMessageService.java:138)
at java.util.Timer$TimerImpl.run(Timer.java:284)
Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
at android.os.Handler.<init>(Handler.java:121)
at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:421)
at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:421)
at android.os.AsyncTask.<clinit>(AsyncTask.java:152)
... 2 more
CheckMessageTask은 AsyncTask를 확장하고 UI 코드를 실행하지 않기 때문에 그 이유가 아닙니다. 코드는 Android Jelly Bean 4.1.2에서 제대로 작동하지만 Android Gingerbread에서는 제대로 작동하지 않습니다. 어떻게 해결할 수 있습니까?
체크 아웃 : http://stackoverflow.com/a/13267931/1468093 –