Possible Duplicate:
Android Toast started from Service only displays onceFehler Toast von Service-Android ruft
I Service Android bin mit in android.app.Service definiert.
Ich nenne diesen Service (myService) von einer Aktivität.
MyService ist:
public class myService extends Service{
public IBinder onBind(Intent intent){
return null;
}
public void onCreate(){
super.onCreate();
TimerTask task = new TimerTask(){
public void run(){
Log.i("test","service running");
checkDate();
}
};
timer = new Timer();
timer.schedule(task, 0, 20000);
}
public void checkDate(){
Toast toast = Toast.makeText(this, "SIMPLE MESSAGE!", Toast.LENGTH_LONG);
toast.show();
}
}
Verfahren checkdate() befindet sich in der Klasse myService.
Der Fehler produziert wird:
09-19 15:41:35.267: E/AndroidRuntime(2026): FATAL EXCEPTION: Timer-0
09-19 15:41:35.267: E/AndroidRuntime(2026): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
09-19 15:41:35.267: E/AndroidRuntime(2026): at android.os.Handler.<init>(Handler.java:121)
09-19 15:41:35.267: E/AndroidRuntime(2026): at android.widget.Toast$TN.<init>(Toast.java:310)
09-19 15:41:35.267: E/AndroidRuntime(2026): at android.widget.Toast.<init>(Toast.java:84)
09-19 15:41:35.267: E/AndroidRuntime(2026): at android.widget.Toast.makeText(Toast.java:226)
Können Sie den Code schreiben Sie verwenden, um dies zu beginnen? Ist dies auch ein Android-Dienst oder ist es nur ein Hintergrund-Thread? Das Problem besteht darin, dass Sie nicht mit der Benutzeroberfläche aus einem Hintergrundthread interagieren können. Wenn Sie einen Verweis auf den Aktivitätskontext haben, können Sie runOnUIThread mit diesem Kontext aufrufen. – Bobbake4