Nexus 5의 Android 6.0 업데이트 이후 'Wi-Fi 네트워크에 로그인합니다'라는 알림이 표시 될 때마다 휴대 전화가 진동합니다. 통화, SMS, WhatsApp 메시지 등의 진동을 유지하면서이 기능을 끌 수있는 곳이 있습니까?
Nexus 5의 Android 6.0 업데이트 이후 'Wi-Fi 네트워크에 로그인합니다'라는 알림이 표시 될 때마다 휴대 전화가 진동합니다. 통화, SMS, WhatsApp 메시지 등의 진동을 유지하면서이 기능을 끌 수있는 곳이 있습니까?
답변:
방해 금지의 우선 순위 전용 모드 와 관련된 해결 방법이 있습니다.
간단히 말해, 시스템의 기본 설정을 덮어 쓸 수있는 알림 경고에 대한 앱별 설정이 있으므로 우선 순위 만 ( 빠른 설정 -방해 금지 ) 사용해야합니다. 우선 순위 전용 모드는 여전히 모든 알림을 표시합니다. 그러나 우선 순위 알림 (사운드, 진동 및 LED 표시 등) 만 경고됩니다.
아이디어는 Android 시스템 앱 (기본적으로 시스템 앱이 표시되지 않음)에 있는 포탈 포털 알림을 제외하고 모든 알림을 우선 순위 ( 설정-소리 및 알림-앱 알림-[앱 이름]-우선 순위로 처리)로 처리하는 것입니다. 오버플로 메뉴에서 시스템 표시를 선택 해야 합니다.이 앱을 우선 순위로 두지 말고 나머지 시스템 앱은 잊지 마십시오.
그러나이 해결 방법을 사용하기 전에 먼저 고려해야 할 몇 가지 단점이 있습니다.
TL; DR
당신은 여전히 모든 알림에 진동 갖고 싶어 캡 티브 포털 (이 특정 문제)를 제외한를 , 난 두려워 당신은 할 수 없습니다 .
그것은으로의 주석에 언급 dbasch 진동이 (실제로, 알림 있다는 경고 자체) 산들 바람에서 추가되었다.
Android가 이미 알고 있듯이 WiFi가 캡 티브 포털에 로그인해야 함을 감지하면 알림이 생성됩니다. 의 setProvNotificationVisibleIntent()
기능으로 수행됩니다 ConnectivityService
.
네트워크 프로비저닝 알림을 표시하거나 숨 깁니다.
네트워크는 로그인이 필요함
NotificationType.SIGN_IN
을 알리거나 ( ) 네트워크에 인터넷 액세스 권한이 없음 을 알리기 위해 (2) 두 가지 목적으로 알림을 사용합니다NotificationType.NO_INTERNET
. ID 당 최대 하나의 알림을 표시하므로 특정 네트워크에서 가장 최근에 요청한 알림 유형을 표시 할 수 있습니다. 예를 들어, 캡 티브 포털이 연결 후 몇 초 내에 응답하지 않으면 먼저을 표시NO_INTERNET
한 다음 캡 티브 포털 검사가 완료되면을 표시 할 수SIGN_IN
있습니다.
Android 6.0 Marshmallow 에서 사용되는 알림 경고 관련 코드 :
Notification notification = new Notification.Builder(mContext)
...
.setDefaults(Notification.DEFAULT_ALL)
...
참고 Notification.DEFAULT_ALL
"할 모든 기본 값 (해당되는 경우)를 사용 , 그것은 당신의 시스템의 알림 설정 (사운드, 진동, LED 조명)에 의존한다"는 의미입니다.
의 하나에 비해 안드로이드 5.x의 롤리팝 , 코드는 다음과 같습니다
Notification notification = new Notification();
...
그 이상도 이하도 아닌. 관련 코드입니다. new Notification()
" 기본값으로 객체를 생성 Notification
합니다 ". 의미에는 변화가없는 것 같지만 (값 : -1) defaults
로 설정 / 초기화되지 않았습니다 Notification.DEFAULT_ALL
. 대신 초기화가 없으므로 기본값은 0이며 alert 이 아닙니다 .
마시멜로에서 수정 된 Google이 간과 한 버그인지 여부는 모르겠습니다. 또한 Android Lollipop에는 경고가 없지만 Android Marshmallow에는 경고가있는 이유입니다.
그 성가신 진동을 없애는 유일한 방법은 '사용 가능한 wifi'알림을 완전히 비활성화하는 것입니다. 설정-> wifi-> 세 개의 수직 점으로 이동-> '고급 설정'으로 이동하여 공개적으로 액세스 가능한 wifi 네트워크에 대한 알림을 비활성화하십시오. 수정을 기다리는 동안, 그것이 유일한 해결책이라고 생각하고 그것들을 비활성화시키는 것이 그렇게 나쁘지는 않습니다. 나는 항상 그것들이 쓸모가 없다고 생각했습니다.
이 알림은 Android 시스템 ( android
)에서 시작합니다 . appops를 사용하여 모든 상황에서 장치를 진동시키는 Android 시스템 권한을 거부 할 수 있습니다. PC에서 adb를 설정 했다면 다음을 수행하십시오.
adb shell appops set android VIBRATE deny
인터넷에 연결되지 않은 상태에서 Wi-Fi에 연결해보십시오. 당신은 여전히 그 통지를받을 것이지만 진동이 없습니다. 해당 알림을 숨기려면 여기 또는이 웹 사이트에 게시 된 나머지 답변을 따르십시오.
변경 사항을 되돌리려면 다음을 수행하십시오.
adb shell appops set android VIBRATE allow
전화 걸기 진동은 Dialer 앱에 의해 시작됩니다. SMS의 경우 기본 SMS 앱, WhatsApp 메시지의 경우 동일한 앱이므로 영향을받지 않습니다. 내가 알지 못하는 그 명령에 예기치 않은 결과가 생길 수 있으므로 의견을 통해 그에 대해 알려주십시오.
참고 : 이 솔루션은 비공식 CM13 빌드에서 테스트되었습니다.