1

アプリを (AlarmManager を使用して) 指定した時間だけスリープ状態にしてから、再び起動するシグナルがあります。

画面がオンにならないことを除いて、すべてが機能しています。私は BroadcastReceiver クラスからウェイクロックを使用しています:

     KeyguardManager key = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
     KeyguardLock lock = key.newKeyguardLock(TAG);
     lock.disableKeyguard();
     Log.v(TAG, "alarm: disabled keyguard.");

     PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
     gpsMain.wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, TAG);
     gpsMain.wl.acquire();
     Log.v(TAG, "alarm: acquired wakelock");

     Intent i = new Intent();
     i.setAction(CUSTOM_INTENT);
     context.sendBroadcast(i);

次に、アプリが起動して実行され、再び接続されていることを確認したら、ウェイクロックを解放します。しかし、画面は決して点灯しません!電源ボタンを押して画面を手動で起動したときにのみ、アプリは実際に復活します。

私はHTCヒーローで開発しています。どんな援助でも大歓迎です..

4

1 に答える 1

1

ACQUIRE_CAUSES_WAKEUPフラグを使用する必要があります。

于 2010-09-11T11:20:37.677 に答える