gpt4 book ai didi

java - 无法在未调用 Looper.prepare 的线程内创建处理程序

转载 作者:行者123 更新时间:2023-11-29 21:32:20 25 4
gpt4 key购买 nike

在 Android 4.3 中,此代码有效。但在 android < ~3.0 中不起作用。日志:

10-02 00:10:55.265: ERROR/AndroidRuntime(356): FATAL EXCEPTION: Timer-0
java.lang.ExceptionInInitializerError
at ru.cl.radio.MyActivity$1$1.run(MyActivity.java:129)
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()

代码:

Timer timer = new Timer();
TimerTask hourlyTask = new TimerTask () {
@Override
public void run () {
if(isOnline()){
DownloadWebPageTask task = new DownloadWebPageTask(); // **129 line!!!**
task.execute(new String[] { "http://.../index.php" });
} else{
runOnUiThread(successRunnable);
}
}
};

timer.schedule (hourlyTask, 0l, 1000*30);

我想看到这段代码每30秒重复一次

if(isOnline()){
DownloadWebPageTask task = new DownloadWebPageTask();
task.execute(new String[] { "http://...index.php" });
} else {
runOnUiThread(successRunnable);
}

最佳答案

好像是

new DownloadWebPageTask();

包含需要在主 UI 线程上运行的内容。

关于java - 无法在未调用 Looper.prepare 的线程内创建处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com