본문 바로가기

Android

[Android] MediaController dispatchKeyEvent not called

2019.10.22

 

안녕하세요. VideoView를 사용하면서 MediaController가 Showing일때 backpressed가 안먹히는 현상에 대해서 공유하려고 합니다.

 

이 현상은 Target SDK 28로 올렸을때 발생할 수 있는 현상입니다. 

Target SDK 28의 변경사항으로 UI포커스 대한 부분이 있습니다.

 

1. 너비나 높이가0인 뷰는 포커스가 불가능 합니다.

2. 터치모드에서는 활동이 더 이상 초기 포커스를 암시적으로 할당하지 않습니다. 원하는 경우 명시적으로 요청해야합니다.

 

MediaController가 Showing일때 Backpress이벤트가 감지 되었을때 ViewGroup의 focus가 항상 null로 나타나는 현상이였습니다.

이때 2번의 내용처럼 명시적으로 focus를 요청해야합니다.

requestChildFocus( 'Focus를 주고자하는 ChildView' , '현재 Focus를 가지고있는 View' )

 

참고

https://developer.android.com/about/versions/pie/android-9.0-changes-28?hl=ko

 

 

감사합니다.

❤️

Love YourSelf