티스토리 뷰

폰 화면이 ON/OFF 되는 경우

activity lifecycle은

onPause() //off

onResme() //on


불행이도 onWindowFocusChanged 는 onPause 다음에 호출이 되기때문에

포커스 유무로 화면이 on/off 되는걸 알수가 없다.

그래서 브로드캐스트를 써야된다.

 public class ScreenActionReceiver extends BroadcastReceiver {

    @Override

    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {

//화면 꺼짐

        } else if(intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {

//화면 켜짐

        }

    }

}


    

    private ScreenActionReceiver mReceiver;

   

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        registerScreenStateReceiver();

    }

    

     private void registerScreenStateReceiver() {

        IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);

        filter.addAction(Intent.ACTION_SCREEN_OFF);

        mReceiver = new ScreenActionReceiver(context);

        registerReceiver(mReceiver, filter);

    }


    @Override

    protected void onDestroy() {

        super.onDestroy();

        unregisterReceiver(mReceiver)

    }


   

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함