TelephonyManager.listen() Deprecated!
TelephonyManager.listen() Deprecated! TelephonyCallback으로 마이그레이션하기 (Java) Android SDK를 최신 버전으로 업데이트하면 Android Studio에서 다양한 Deprecated 경고를 볼 수 있다. 그중 하나가 바로 TelephonyManager.listen() 이다. 기존에는 전화 상태나 데이터 연결 상태 등을 확인하기 위해 대부분 PhoneStateListener 와 listen() 메서드를 사용했다. 하지만 Android 12(API 31)부터는 TelephonyCallback 사용이 권장되며, 최신 SDK에서는 listen() 메서드가 Deprecated로 표시된다. 이번 글에서는 기존 코드를 TelephonyCallback 으로 변경하는 방법과 실제 적용하면서 주의했던 점을 정리해 보려고 한다. 왜 변경해야 할까? 기존 방식은 다음과 같았다. TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); telephonyManager.listen( phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE ); 이 방식은 오랫동안 사용되어 왔지만 Android 12(API 31)부터 Deprecated 되었다. Google에서는 기능별 Callback 인터페이스를 사용하는 TelephonyCallback 방식으로 변경할 것을 권장하고 있다. SDK 36으로 변경하더라도 기존 코드가 바로 동작하지 않는 것은 아니지만, 앞으로의 호환성을 위해서는 변경하는 것이 좋다. 기존 PhoneStateListener 코드 예를 들어 전화 상태를 감시하는 코드는 다음과 같다. PhoneState...