如何以 1 分钟等小间隔使用 Android AlarmManager? [英] How to use Android AlarmManager with small intervals like 1 minute?

查看:32
本文介绍了如何以 1 分钟等小间隔使用 Android AlarmManager?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想建立一些外部服务监视器并尽快收到问题通知.

I want to make some external service monitor and be notified on problems as fast as possible.

我尝试以 1-2 分钟的间隔设置 AlarmManager,但它看起来每隔几分钟随机触发一次.

I tried to set up AlarmManager with 1-2 minutes interval, but it looks like it fires randomly every several minutes.

当然,我想避免被android杀死我的后台任务,如果我只使用Service,它会停止监控.

Of course, I want to be safe from killing my background task by android, which would stop monitoring if I just use Service.

是否可以在小而准确的时间间隔内使用 AlarmManager?

Is it possible to use AlarmManager in small, accurate intervals?

Facebook、Gmail 等应用程序使用哪些方法来通知新邮件?

Which approaches are used in applications like Facebook, Gmail to notify about new messages?

startForeground和部分WakeLock制作Service会更好吗?

Would it be better to make Service with startForeground and partial WakeLock?

推荐答案

我尝试以 1-2 分钟的间隔设置 AlarmManager,但它似乎每隔几分钟随机触发一次.

I tried to set up AlarmManager with 1-2 minutes interval, but it looks like it fires randomly every several minutes.

由于您决定不展示您如何以 1-2 分钟的间隔设置 AlarmManager",因此任何人都很难为您提供帮助.请阅读 AlarmManager 的文档并注意Android 4.4 新增的默认不精确行为.

Since you decided not to show how you "set up AlarmManager with 1-2 minutes interval", it will be difficult for anyone to help you. Please read the documentation for AlarmManager and note the default-inexact behavior new to Android 4.4.

我想避免被android杀死我的后台任务,如果我只使用Service,它会停止监控.

I want to be safe from killing my background task by android, which would stop monitoring if I just use Service.

AlarmManager 并不能解决这方面的所有问题.例如,如果用户选择强制停止您的应用(例如,通过设置"),您的闹钟就会被移除.

AlarmManager does not solve all problems in this regard. For example, if the user elects to force-stop your app (e.g., via Settings), your alarms are removed.

是否可以在小而准确的时间间隔内使用 AlarmManager?

Is it possible to use AlarmManager in small, accurate intervals?

在 Android 1.0-4.3 上使用 setRepeating(),在 Android 4.4+ 上使用 setExact().使用 setExact(),作为处理一个警报事件的一部分,您需要安排下一个警报事件.

Use setRepeating() on Android 1.0-4.3 and setExact() on Android 4.4+. With setExact(), as part of processing one alarm event, you will need to schedule the next alarm event.

使用 startForeground 和部分 WakeLock 制作 Service 会更好吗?

Would it be better to make Service with startForeground and partial WakeLock?

仅当您的设备始终接通电源时(例如,工业过程监视器).

Only if your device is always plugged into power (e.g., industrial process monitor).

这篇关于如何以 1 分钟等小间隔使用 Android AlarmManager?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆