我试过这个wakefull示例:https ://github.com/commonsguy/cw-omnibus/tree/master/AlarmManager/Wakeful
但我有几个问题。
我需要<action android:name="android.intent.action.BOOT_COMPLETED" />
吗?因为正如我测试的那样,意图始终为空。
而 inScheduledService 是:
@Override
protected void doWakefulWork(Intent intent) {
Log.d(getClass().getSimpleName(), "I ran!");
}
但是这种方法永远不会被解雇。
在 WakefulintentService 中有这个方法,它也永远不会被触发:
@Override
final protected void onHandleIntent(Intent intent) {
try {
doWakefulWork(intent);
} finally {
PowerManager.WakeLock lock = getLock(this.getApplicationContext());
if (lock.isHeld()) {
lock.release();
}
}
}
要改变什么,以便我得到I ran
输出?