处理程序行为不一致

发布于 2024-09-25 15:59:58 字数 198 浏览 3 评论 0原文

我在服务中使用处理程序,使用 Handler.postDelayed 方法在特定时间显示通知。我的应用程序在模拟器上运行良好,正如预期的那样满足所有情况。但当我在 HTC Wildfire 上安装相同的软件时,它根本没有按预期发生。通知在预定时间后以随机方式显示,有些通知甚至失败。我正在从“应用程序”>“监控我的服务”正在运行服务,但我的服务仍然处于活动状态。有什么想法吗?

I am using a handler inside my service to display notifications at a certain time using the Handler.postDelayed method. My application runs fine on the emulator just as expected satisfying all cases. But when I installed the same on my HTC Wildfire, it simply doesn't happen as anticipated. Notifications are displayed at a random manner after the scheduled time and some notifications even fail. I'm monitoring my service from the Applications > Running Services and still my service is active. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诗化ㄋ丶相逢 2024-10-02 15:59:58

我从处理程序文档中找到了这个

如果循环器在之前退出
消息的传递时间发生
那么该消息将被删除。

因此,我没有将 HandlerRunnable 结合使用,而是将 TimerTimerTask 结合使用。

I found this from the Handler documentation

If the looper is quit before the
delivery time of the message occurs
then the message will be dropped.

So, instead of using a Handler with a Runnable, I used a Timer with a TimerTask.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文