Tắt rung khi có thông báo ‘Đăng nhập vào mạng WiFi’

Kể từ khi Android 6.0 cập nhật lên Nexus 5, mỗi lần mình có thông báo ‘ Đăng nhập vào mạng wifi’ là điện thoại lại rung. Liệu có cách nào tắt chức năng này trong khi vẫn giữ rung cho cuộc gọi, tin nhắn SMS, tin nhắn WhatsApp, ..?

Đã hỏi vào Tháng Bảy 14, 2016 Tổng hợp.
Bình luận
Chấp nhận

Có 1 cách giải quyết đó bạn, đó là vào‘ Do not disturb’, chọn chế độ Priority only

Nói đơn giản, bạn phải dùng Priority only ( vào Quick Settings – Do not disturb) vì nó có thiết lập cho từng ứng dụng về cảnh báo thông báo, có thể ghi đè lên thiết lập mặc định của hệ thống. Chế độ Priority only vẫn sẽ hiển thị mọi thông báo. Tuy nhiên, chỉ những thông báo được ưu tiên mới được cảnh báo ( âm thanh, rung và đèn LED).

Tức là bạn phải chọn các thông báo nào là ưu tiên ( vào Settings – Sound & notification – App notifications – [tên app] – Treat as priority), trừ các thông báo yêu cầu đăng nhập vào mạng, do thông báo này là của các ứng dụng hệ thống Android (theo mặc định thì ứng dụng hệ thống không được liệt kê ở đây . Bạn cần phải đánh dấu vào ‘Show system from overflow menu’ để ‘không ưu tiên’ cho các ứng dụng hệ thống).

Tuy nhiên, có vài nhược điểm bạn nên xem xét trước khi dùng cách này:

    1. Bạn sẽ phải hy sinh việc sử dụng dự định của chế độ Priority only, chỉ để lại ‘Total silence’ (hoàn toàn im lặng) là lựa chọn duy nhất.

 

    1. Nếu bạn có nhiều ứng dụng đã được cài đặt, nó sẽ khá chán khi phải thiết lập thông báo của từng ứng dụng vào chế độ ưu tiên đấy. (Ngoài ra, mỗi khi bạn cài đặt một ứng dụng mới, bạn phải để thông báo của nó là ưu tiên (trừ khi bạn không quan tâm đến thông báo của nó)).

 

    1. Bạn sẽ không nhận được bất kỳ cảnh báo nào cho tất cả các thông báo từ hệ thống Android (bạn cần phải tự thử nghiệm điều này nhé, vì mình cũng không rõ những thông báo nào được coi là của hệ thống Android).

 

Đã trả lời vào Tháng Bảy 14, 2016
Bình luận

Nếu bạn vẫn muốn rung cho tất cả các thông báo yêu cầu đăng nhập vào mạng, thì mình nghĩ không thể được đâu. Theo như mình biết, chế độ rung ( thực ra là chế độ cảnh báo khi thông báo) mới được bổ sung trong Marshmallow.

Về mặt chi tiết kĩ thuật:

Khi Android phát hiện WiFi yêu cầu đăng nhập, nó sẽ tạo ra một thông báo. Nó được thực hiện bởi chức năng setProvNotificationVisibleIntent() trong ConnectivityService

“ Ẩn hoặc hiện thông báo mạng:

Chúng tôi sử dụng thông báo cho 2 mục đích: để thông báo có 1 mạng yêu cầu đăng nhập (NotificationType.SIGN_IN), hoặc để thông báo mạng không kết nối được internet (NotificationType.NO_INTERNET) Chúng tôi cho hiển thị nhiều nhất là 1 thông báo cho một ID, như vậy trên một mạng cụ thể, chúng tôi có thể hiển thị các loại thông báo mà gần đây nhất đã được yêu cầu. Vì vậy, ví dụ nếu một yêu cầu đăng nhập mạng không trả lời trong vòng một vài giây kết nối, chúng ta có thể hiển thị NO_INTERNET đầu tiên, và sau khi kiểm tra yêu cầu đăng nhập mạng hoàn tất, hiển thị SIGN_IN. “

Các mã có liên quan đến các thông báo cảnh báo được sử dụng trong 6,0 Marshmallow Android:

Notification notification = new Notification.Builder(mContext)

...

.setDefaults(Notification.DEFAULT_ALL)

...

Lưu ý rằng Notification.DEFAULT_ALLsẽ “sử dụng tất cả các giá trị mặc định (nếu có)”, có nghĩa là nó sẽ phụ thuộc vào cài đặt thông báo của hệ thống (âm thanh, rung và đèn LED ánh sáng).

So sánh với Android 5.x Lollipop, mã là:

Notification notification = new Notification();

...

Đó là các mã có liên quan với nhau. new Notification() sẽ “xây dựng một đối tượng thông báo với các giá trị mặc định”. Mặc dù dường như không có sự thay đổi về mặt ý nghĩa,bạn nên lưu ý rằng defaults không được cài đặt / khởi tạo Notification.DEFAULT_ALL (giá trị: -1). Thay vào đó, vì không có khởi tạo, nó sẽ được mặc định là 0, mà không có cảnh báo.

Mình không biết đó có phải là lỗi của Google khi gắn cố định trong Mashmallow hay không nhưng đó là lí do không có cảnh báo trong Android Lollipop, mà lại có ở Android Marshmallow.

 

Đã trả lời vào Tháng Bảy 15, 2016
Bình luận

Đáp án của bạn

Với việc gửi đáp án, bạn đã đồng ý với Chính sách dữ liệuCác điều khoản của chúng tôi.