2012-01-23 2 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()의 콜백 디.
그러나 귀하의 경우에는 여전히 활동이 전경에 오지 않았기 때문에 일어날 일이 없습니다.
대신에 특정 알람에 대한 일부 청취자를 넣은 다음 이벤트 (사용자의 경우 알람)에 대한 의도를 얻은 다음 작업을 수행합니다.

관련 문제