[英]Will TIME_TICK broadcast in deep sleep?
为了广播ACTION_TIME_TICK
Android是否会从深度睡眠中唤醒? 从实验来看,我认为不是,但我正在寻找一个明确的答案。
我的实验涉及注册一个简单的BroadcastReceiver
来更新接收时的TextView
:
registerReceiver(new BroadcastReceiver() {
int ctr = 0;
@Override
public void onReceive(Context context, Intent intent) {
testView.setText("Time ticks: " + ++ctr);
}
}, new IntentFilter(Intent.ACTION_TIME_TICK));
在4个刻度处,我关闭了屏幕大约5分钟,然后将其重新打开,它读取了6个刻度。 在13个刻度时,我将屏幕旋转了10分钟,然后将其重新打开,并且刻度数读数为14.无论我多长时间离开手机,这似乎只会增加1-2个刻度,这就是为什么我怀疑它不会在深度睡眠期间播放动作。
我查看了Android代码。 没有这个广播不会唤醒手机。 它使用AlarmManager.RTC
类型Alarm
来广播时间变化。
为什么你需要每分钟通知字面?
如何使用AlarmManager.RTC_WAKEUP
类型设置自己的警报?
警告 :每分钟都要耗尽电池电量。 我建议不要经常这样做,比如每小时。
如果这有用,请告诉我。
灵光
一个更好的实验:不要更新手机关闭时无法看到的TextView
,而是使用以下命令写入日志:
Log.v("Tick","Total ticks: " + ++ctr);
当您的手机处于睡眠状态时,您可以在Logcat中留意这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.