폰 화면이 ON/OFF 되는 경우activity lifecycle은onPause() //offonResme() //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(Inte..
암호 잠금 기능이 노출되야 되는 시점은1. 앱이 백그라운드로 진입한후 다시 실행되는 경우2. 화면이 꺼졌다가 켜지는 경우두가지 경우가 있다. 우선 1. 앱이 백그라운드로 진입한후 다시 실행되는 경우 를 캐치 하는 방법을 알아보자. activity lifecycle 만으로는 앱이 백그라운드에 진입했는지 알 수 없다 activity 가 백그라운드로 진입할 경우 onPause()onStop()순서로 호출된다.하지만 다른 activity가 위에 올라갔을 경우에도 똑같은 lifecycle이 적용되기 때문에onWindowFocusChanged(boolean hasFocus) 메서드를 이용해야된다. 앱이 백그라운드에 진입한 경우onPause()onWindowFocusChanged(boolean hasFocus)onS..
현상노티피케이션바로 다른 앱으로 이동 -> 백버튼으로 돌아옴 -> onResume 에서 startActivity A-> A 종료 -> 버튼 클릭으로 startActivity B -> 딜레이 발생A activity 실행시 밑에 깔려있는 액티비티의 onPause가 불리지 않는다!! 해결 방법 Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { startActivity A } }, 250); 관련 로그03-27 18:04:09.678 27544-27544/ E/ActivityThread﹕ Performing stop of activity that is not resumed: {} ja..
- Total
- Today
- Yesterday
- Could not lock surface
- onpause not called
- BroadcastReceiver
- WebView
- TransactionTooLargeException
- 암호 잠금
- startActivity
- unregisterReceiver
- onPause
- Performing stop of activity that is not resumed
- registerReceiver
- ACTION_SCREEN_OFF
- Android
- LifeCycle
- onWindowFocusChanged
- ACTION_SCREEN_ON
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |