2012-01-23 13 views
2

私は、キーガードを無効にし、アラームが発生したときに画面をオンにする必要があります。 シナリオ:私のアプリはフォアグラウンドで実行されています。主なアクティビティは画面に表示され、デバイスはスリープモードになります。アラームが発生すると、画面がオンになり、キーガードが無効になります。 FLAG_TURN_SCREEN_ONとFLAG_DISMISS_KEYGUARDはアクティビティのonResumeメソッドにありますが、メインアクティビティが画面上で実行されているため、アクティビティのonresumeメソッドが呼び出されていないようですので、キーガードをオンにして無効にできません。 私は、画面がオンになっているときに自分のアクティビティが画面に表示されている場合、どのアクティビティライフサイクルが呼び出されるのかを知りたいと思いますか?デバイスがスリープモードに移行したときのアクティビティの状態は?

この問題を理解してください。ここ

よろしく、 Piks

答えて

1

コードの一部は、私のアプリの希望でこのヘルプあなたが得る

public void onCreate(Bundle savedInstancestate){ 
     final Window win = this.getWindow(); 
     win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
         | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
      win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
          | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
    } 
0

unlock.class

ALARMRECEIVER.class

public final class ALARMRECEIVER extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) {  
     Intent intent2 = new Intent(context,unlock.class); 
     intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(intent2); 
    }    
} 

です画面がオンになり、アクティビティが表示されるときにonResume()のコールバックd。
あなたのケースでは、活動がまだ前景に来ていないので、それは起こりません。
これに代えて、特定のアラームのリスナーをいくつか入れて、イベント(イベントのアラーム)にインテントを取得してアクションを実行します。

関連する問題