728x90
반응형
현재 스마트폰의 상태를 벨소리,진동,무음으로 변경이 가능하게 하고싶으실때 유용합니다.
우선 퍼미션먼저 넣어줄게요.
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.VIBLATE"/>
저는 이렇게 3개 넣어줬습니다.
무음상태까지 제어를 하기위해선 별도의 작업이 하나 더 필요합니다.
NotificationManager notificationManager;
notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
if (!notificationManager.isNotificationPolicyAccessGranted()) {
Toast.makeText(getApplicationContext(), "권한을 허용해주세요", Toast.LENGTH_LONG).show();
mContext.startActivity(new Intent(android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS));
}
해당 앱의 권한을 설정 할 수 있는 화면으로 바로 이동이 됩니다.
이렇게까지 했다면 이제 본격적으로 벨소리,진동,무음을 제어해볼게요.
AudioManager audioManager;
audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) {
// 벨소리 모드일 경우
}
else if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) {
// 진동 모드일 경우
}
else if (audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT) {
// 무음 모드일 경우
}
원하시는 조건문을 사용하시어 개발을 진행하시면 되는데요.
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); //벨소리모드로 변경
audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE); //진동모드로 변경
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); //무음모드로 변경
이런식으로 진행이 가능합니다.
테스트해보세요!
궁금하신 사항은 댓글 남겨주세요.
728x90
반응형
'Android' 카테고리의 다른 글
안드로이드 하이브리드앱 새창 Popup(팝업)창 띄우기 및 닫기 (25) | 2020.01.28 |
---|---|
안드로이드 스튜디오 해상도별 화면 틀어짐 대응해보기(dimen) (16) | 2020.01.17 |
블루투스 활성화 여부에따라 앱종료 및 계속 실행하기. (0) | 2019.12.30 |
안드로이드 기기의 블루투스 지원여부 확인하기. (0) | 2019.12.30 |
안드로이드 브릿지 활용하여 웹에서 안드로이드 메소드실행 (15) | 2019.12.27 |
댓글