Android 3.0에서 작업 중이며 기기가 절전 모드/화면 꺼짐 상태 일 때 응용 프로그램에서 알아야합니다.Android에서 수면 모드에 등록하려면 어떻게해야하나요?
이 인 텐트/이벤트에 어떻게 등록하여 일부 작업을 실행할 수 있습니까? 이 사실을 알리는 조치가 BroadcastReceiver에 있습니까?
Android 3.0에서 작업 중이며 기기가 절전 모드/화면 꺼짐 상태 일 때 응용 프로그램에서 알아야합니다.Android에서 수면 모드에 등록하려면 어떻게해야하나요?
이 인 텐트/이벤트에 어떻게 등록하여 일부 작업을 실행할 수 있습니까? 이 사실을 알리는 조치가 BroadcastReceiver에 있습니까?
This 페이지에는 찾고있는 내용에 대한 자습서가 있습니다. 해당 페이지에서 복사
코드 (순서는 전용 링크의 유용 뭔가 대답 원치에서이 전원을 켭니다) :
1) 의도를받을 수있는 응용 프로그램에서 클래스를 만듭니다. 예를 들어, 다음 수신기는 독립형으로 파트 2에서 사용할 정적 변수를 설정합니다. 2) 화면 켜기/끄기 이벤트 수신 활동을 수정하십시오.
public class ExampleActivity extends Activity {
@Override
protected void onCreate() {
// initialize receiver
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, filter);
// your code
}
@Override
protected void onPause() {
// when the screen is about to turn off
if (ScreenReceiver.wasScreenOn) {
// this is the case when onPause() is called by the system due to a screen state change
System.out.println("SCREEN TURNED OFF");
} else {
// this is when onPause() is called when the screen state has not changed
}
super.onPause();
}
@Override
protected void onResume() {
// only when screen turns on
if (!ScreenReceiver.wasScreenOn) {
// this is when onResume() is called due to a screen state change
System.out.println("SCREEN TURNED ON");
} else {
// this is when onResume() is called when the screen state has not changed
}
super.onResume();
}
}
수동 수면 (사용자가 전원 버튼을 눌러 완료)과 자동 수면을 (X 분 후에) 구분할 수 있습니까? –
@Yaniv : 방송 수신기에서 정적 변수를 확인합니다 귀하의 수신기는 방금받은 의도에 대한 이유를 알고 "나는 장치가 잠을 갈 때/내 응용 프로그램이 함께 알고있는 화면을 해제해야합니다. " -- 왜? 안드로이드 어플리케이션의 99.999 %는 이것을 필요로하지 않습니다. 이를 수행하는 유일한 방법은 사용자에게 적대적인 행동 (예 : 항상 실행중인 서비스)을 가정합니다. 그래서, 당신이 달성하고자하는 것을 설명하십시오, 그래서 우리는 더 나은 해결책을 찾을 수 있습니다. – CommonsWare