java 2

AudioManager 사용 시 java.lang.SecurityException: Not allowed to change Do Not Disturb state 에러

AudioManager.setStreamVolume() 메서드 사용시 위와 같은 에러가 발생했다. 단말이 방해금지모드일 때 앱에서 볼륨을 조절하려 하면 발생하는 에러인데 방해금지모드를 무시 할 수 있는 권한을 주어 해결할 수 있다. Settings.Global.getInt(getContentResolver(), “zen_mode”); Settings.Global.getInt(getContentResolver(), “zen_mode”); 를 통해 현재 상태를 확인 할 수 있으며 응답값은 다음과 같다. 0 방해금지모드 OFF 1 중요한 알림만 허용 2 모든 알람에 대해 무음 처리 3 경보만 허용 볼륨값을 설정하기 전 권한을 체크해 권한이 없다면 아래 코드처럼 사용자로부터 권한을 부여받아야 한다. Notifi..

개발/Android 2021.02.09

Annotation 생성

어노테이션을 생성해서 해당 어노테이션의 값으로 특정 변수, 클래스에 지정해주어 어노테이션을 가진 오브젝트에 대해 어떠한 처리를 추가할 수 있다. 어노테이션 생성 방법 @Retention(RUNTIME) @Target(FIELD) public @interface BVparam { boolean hash() default false; } @Retention - 어노테이션의 범위. 어떤 시점까지 어노테이션이 영향을 미치는지 결정. @Documented - 문서에도 어노테이션의 정보가 표현됩니다. @Target - 어노테이션이 적용할 위치를 결정합니다. @Inherited - 이 어노테이션을 선언하면 자식클래스가 어노테이션을 상속 받을 수 있습니다. @Repeatable - 반복적으로 어노테이션을 선언할 수 있..

개발/Java 2021.02.09