繁体   English   中英

TIME_TICK会在深度睡眠中播出吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM