2013-11-26 1 views
16

PHONE_UNLOCKED (어떤 종류의 BroadcastReceiver)과 같은 것을받을 수 있습니까?Android의 잠금 해제 이벤트를 가져 오는 방법은 무엇입니까?

서비스가 실행 중일 때 화면이 켜지면 Toast이 표시됩니다. 불행히도 일부 휴대폰은 잠금 해제되기 전에는 표시하지 않습니다. 대부분의 경우 Toast 메시지가 이미 사라졌습니다.

+0

가능한 복제본 [Androi d - 전화 잠금 해제 이벤트 감지, 화면 안함] (http://stackoverflow.com/questions/3446202/android-detect-phone-unlock-event-not-screen-on) –

답변

37

ACTION_USER_PRESENT 및 ACTION_SHUTDOWN

의 구현은 작업을받을 수있는 응용 프로그램 매니페스트

<receiver android:name=".UserPresentBroadcastReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.USER_PRESENT" /> 
    <action android:name="android.intent.action.ACTION_SHUTDOWN" /> 
</intent-filter> 
</receiver> 

이 추가 브로드 캐스트 리시버 동작 여기 ACTION_USER_PRESENT가된다

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 

public class UserPresentBroadcastReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent intent) { 

     /*Sent when the user is present after 
     * device wakes up (e.g when the keyguard is gone) 
     * */ 
     if(intent.getAction().equals(Intent.ACTION_USER_PRESENT)){ 

     } 
     /*Device is shutting down. This is broadcast when the device 
     * is being shut down (completely turned off, not sleeping) 
     * */ 
     else if (intent.getAction().equals(Intent.ACTION_SHUTDOWN)) { 

     } 
    } 

} 
+1

ACTION_SHUTDOWN은 무엇이 필요합니까? –

+0

내일 시험해 보겠습니다. 늦은 밤에 여기 –

+0

@Chathura 답장을 보내 주셔서 감사합니다.하지만 구체적인 이메일을 보내주십시오. "Intent.ACTION_SHUTDOWN"이 필요 없다면, 그런 종류의 'dead code'를 제거하십시오. 혼란스러워하는 많은 '안드로이드 프레셔'가 있습니다. 그건 그렇고, 당신의 대답에 감사드립니다. –