【Android】 상태 표시줄을 아래로 스와이프하여 빠른 설정이 나왔음을 감지합니다.

소개





위 이미지처럼 상태 표시줄을 아래로 스와이프하면 빠른 설정이 나옵니다.
퀵 설정이 표시되는 것을 어떻게든 검출할 수 없는지 여러가지 시험해 보았다.

시도해 보지 못했던 방법



Activity#onTouchEvent(MotionEvent event)에서 감지

onTouchEvent에서 이벤트를 얻을 수 있을까 생각했지만 화면 밖을 위해 검출은 할 수 없었다.

성공적인 방법



Activity#onWindowFocusChanged(boolean hasFocus)에서의 검출

구현은 이하만.

MainActivity.java
public class MainActivity extends AppCompatActivity {

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        Log.d("MainActivity", "onWindowFocusChanged hasFocus: " + hasFocus);
    }
}

로그를 확인하면
빠른 설정이 나오면

D/MainActivity: onWindowFocusChanged hasFocus: false

빠른 설정이 닫힌 경우

D/MainActivity: onWindowFocusChanged hasFocus: true

같은 통지를 로그에서 확인할 수 있었다.

끝에



일단 검출은 가능했지만
Activity#onWindowFocusChanged(boolean hasFocus)
는, 이번 조작 이외에 여러가지 상황에서 통지가 와 버리기 때문에, 이 방법만으로는 불충분하고 완전하게 퀵 설정이 나온 것을 검출하는 것은 어려울지도 모른다.

좋은 웹페이지 즐겨찾기