我有一个完美的报警应用程序
除非电话深陷睡眠。
当真正入睡时,我的闹钟活动会在之后显示,用户会唤醒手机。我希望手机唤醒用户......
该应用程序直接从BroadcastReceiver启动我的AlarmAcivity。 (不是来自服务。)
一条线索:
记录D DeepSleepService :AlarmManager退出深度扫描
...
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);
}
答案 0 :(得分:1)
我弄清楚我的代码出了什么问题:In正在访问BroadcastReceiver中的数据库。
这是一个坏/坏(正如文件所述)。它只是在长时间睡眠后出现的事实才使得虫子更难找到。