Settings.Pannel
Androdi API 29부터 Setting.Panel 클래스가 제공되기 시작했습니다. Setting.Panel은 NFC, WiFi, 인터넷 연결, 볼륨 설정을 Floating UI로 제공할 수 있는 기능입니다. Floating UI로 제공되기 때문에 화면 전환 없이 사용자가 설정을 확인하고 수정할 수 있는 것이 큰 장점입니다!!
하지만 Settings.Pannel을 통해 접근할 수 있는 설정이 4가지라는 것은 큰 아쉬운 점으로 다가오기도 합니다. 그럼 Settings.Pannel이 실제로 어떻게 UI에서 표시되는지 확인해 보러 가시죠.
Settings.Pannel - 인터넷
startActivity(
Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
)
Setting.Pannel.ACTION_INTERNET_CONNECTIVITY Type으로 인터넷 설정을 Settings.Pannel로 화면에 표시할 수 있습니다. 모바일 데이터와 WIFI 설정 정보를 바로 확인할 수 있으며 변경도 가능합니다. 실제로 Pannel을 통해 값을 변경하면 기기의 인터넷 설정이 변경되는 것을 확인하실 수 있습니다.
Setting.Pannel에서 확인할 수 있는 설정 중 WIFI도 있다고 소개해드렸는데요. 인터넷 설정에서도 WIFI에 대한 정보가 표시되고 있기 때문에 차이점이 궁금했습니다. 확인해 본 결과 인터넷 설정에서 WIFI에 직접적인 변경은 할 수 없으며 현재 연결된 WIFI에 대한 간략한 표시를 제공한다는 것을 알게 되었습니다.
Settings.Pannel - Wi-Fi
startActivity(
Intent(Settings.Panel.ACTION_WIFI)
)
Settings.Panel.ACTION_WIFI Type으로 WiFi 설정을 Settings.Pannel로 확인하게 되면 WiFi 끄고/켜기 기능과 연결 가능한 Wi-Fi를 탐색할 수 있다는 것이 가장 큰 차이점이었습니다.
Settings.Pannl - 볼륨
Settings.Panel.ACTION_VOLUME Type으로 WiFi 설정을 Settings.Pannel로 확인하게 되면 볼륨 관련된 정보를 한눈에 확인할 수 있었는데요. 미디어 관련된 앱을 만든다면 유용한 기능으로 생각이 됩니다.
Settings.Pannel - NFC
주의할 점
Settings.Pannel의 UI는 시스템에서 제공해주는 UI로 개발자가 수정할 수 없습니다. 또한 OS, 제조사마다 제공되는 UI가 다르다는 것도 참고하시면 좋을 것 같습니다.
ActivityNotFoundException: No Activity found to handle Intent
또한 Android API 29부터 제공되는 기능인 만큼 적절한 버전 분기가 필요합니다.
[소스 코드]
https://github.com/jaeryo2357/posting_android_sample_code/pull/7
'Android > Common' 카테고리의 다른 글
[Android] 면접에서 헷갈릴수 있는 Activity Lifecycle (0) | 2020.03.05 |
---|---|
[Android]Keybard Show/Hide 감지하기 (0) | 2020.02.12 |
[Android] RecyclerView의 최상단 최하단 감지하기 (0) | 2020.02.10 |
[Android] Retrofit 기본 사용법 (0) | 2020.02.09 |
[Android] ripple Effect 커스텀하기 (0) | 2020.02.09 |