안드로이드 개발 질문/답변
(글 수 45,052)
일정 수준의 Battery 레벨 아래로 떨어졌을 때 발생되는
Low battery 경고 dialog를 강제로 없앨려고 합니다.
그래서 dialog창이 발생했을 때
Intent inte = new Intent();
inte.setAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
getApplicationContext().sendBroadcast(inte);
이런 식의 broadcast intent를 보냈는데, 폰에서는 작동을 안하네요..
제가 만든 application에서 권한이 없는건지,
아니면 Low battery Dialog는 system dialog가 아니라서 안 먹힌건지
혹시 여기에 대해서 아시는 분이 계실려나요?




Low battery warning dialog 는 ICS 기준으로
frameworks/base/package/SystemUI/src/com/android/systemui/power/PowerUI.java 에 구현되어 있습니다.
ACTION_CLOSE_SYSTEM_DIALOGS 에 대한 처리는 구현되어 있지 않기 때문에 닫히지 않을 것으로 생각됩니다.
시스템 입장에서는 이러한 중요한 alert 을 특정 애플리케이션에 의해 close 되지 않도록 하는 것이 맞는 것 같구요.