【问题标题】:Alarm does not work when phone is in deeply asleep手机处于深度睡眠状态时闹钟不响
【发布时间】:2013-04-27 15:23:37
【问题描述】:


我有一个完美运行的闹钟应用程序 除非手机处于深度睡眠状态。
当真正睡着时,我的闹钟活动会在用户唤醒手机后显示。我想让手机唤醒用户...

应用程序直接从 BroadcastReceiver 启动我的 AlarmAcivity。 (不是来自服务。)


一条线索:
日志 D DeepSleepService:AlarmManager 退出 deepsleep
...

PowerManagerService: putReleasedWakeLock
PowerManagerService:*mAcquiredLocks 内容****
PowerManagerService:LockList 条目:flags=0x10000006 tag=com.solidllc.foo.WakeLock
PowerManagerService:LockList 条目:flags=0x1 tag=RILJ
PowerManagerService:LockList 条目:flags=0x1 tag=network-location
PowerManagerService: LockList 条目: flags=0xa tag=KEEP_SCREEN_ON_FLAG
PowerManagerService: putReleasedWakeLock --> 将部分唤醒锁移除到列表中,大小为 i
...

//
//我的清单:
android.permission.INTERNET
android.permission.WAKE_LOCK
android.permission.DEVICE_POWER
android.permission.DISABLE_KEYGUARD


Android自带的闹钟有以上加:“修改全局系统设置”和“检索正在运行的应用程序”。

有人知道可以做什么吗?

非常感谢。

这是设置闹钟的代码:

void armAlarm(int hour, int minute) {

    Calendar alarmtime = new GregorianCalendar();

    alarmtime.set(Calendar.HOUR_OF_DAY, hour);
    alarmtime.set(Calendar.MINUTE, minute);
    alarmtime.set(Calendar.SECOND, 0);

    Intent intent = new Intent(RatActivity.this, AlarmReceiver.class);
    PendingIntent pi = PendingIntent.getBroadcast(RatActivity.this, 0,
            intent, 0);

    AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
    am.cancel(pi);
    am.setRepeating(AlarmManager.RTC_WAKEUP, alarmtime.getTimeInMillis(),
            AlarmManager.INTERVAL_DAY, pi);
}

【问题讨论】:

  • 请考虑将源代码发布到您安排警报的位置。
  • 深度睡眠模式仅在某些设备(例如 Archos 平板电脑)上可用,并且在启用时它还会警告用户:“在深度睡眠中没有任何工作,包括警报”。普通安卓手机采用软睡眠(挂起)模式。
  • 非常感谢。我刚刚测试了内置警报,当设备处于深度睡眠状态时它也不起作用(很好)。 (在“电话选项”菜单上,您可以选择“睡眠”,这会使 Moto Droid 进入深度睡眠。)我要解决的原始问题是,当电话长时间闲置时,我的闹钟不会响起时间;比如一整夜。如何让手机快速进入此(软睡眠?)模式以便调试?

标签: android


【解决方案1】:

我发现我的代码出了什么问题:In 正在访问 BroadcastReceiver 中的数据库。
这是一个坏/错误(如文档所述)。
事实上,它只在长时间睡眠后才出现,这使得该错误更难被发现。

【讨论】:

  • 请链接到和/或引用此文档;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-01
相关资源
最近更新 更多