Trên Android 11 (API cấp 30) trở lên, nền tảng này hỗ trợ giao thức STIR/SHAKEN để cung cấp một phương thức bảo mật và riêng tư nhằm xác minh cũng như giao tiếp số điện thoại của người gọi với người nhận khi có cuộc gọi. Android 11 trở lên hỗ trợ các ứng dụng (chẳng hạn như trình quay số gốc, sàng lọc cuộc gọi và ứng dụng rác) truy cập vào dữ liệu kết quả của nhà mạng. Điều này cho phép ứng dụng xác định cuộc gọi làm phiền và thông báo cho người dùng trước khi trả lời cuộc gọi.
Đối với các thiết bị chạy Android 11 trở lên, các ứng dụng sàng lọc cuộc gọi và ứng dụng rác sử dụng API CallScreeningService có thể truy cập vào chức năng để sàng lọc cuộc gọi, nhờ đó cải thiện quyền riêng tư của người dùng và hiệu suất của thiết bị. Khi sử dụng API này, các ứng dụng không cần yêu cầu cấp quyền riêng lẻ và có thể truy cập vào thông tin bổ sung không có thông qua các yêu cầu quyền thông thường trong Android 10 trở xuống. Dữ liệu có sẵn trong API này bao gồm:
- Số cuộc gọi đến hoặc đi
- Thông báo về cuộc gọi đến và việc chấm dứt
- Quyền truy cập hạn chế vào cửa sổ cảnh báo của hệ thống đối với thông tin sàng lọc trong cuộc gọi và sau cuộc gọi
- Có thể từ chối cuộc gọi đến
- Thời lượng cuộc gọi
- Lý do ngắt kết nối cuộc gọi
- Kết quả STIR/SHAKEN
Triển khai
Ứng dụng quay số, ứng dụng sàng lọc cuộc gọi và ứng dụng làm phiền cần sử dụng API CallScreeningService. Khi người dùng chọn một ứng dụng làm ứng dụng nhận dạng người gọi và ứng dụng rác mặc định, ứng dụng đó sẽ nhận được quyền truy cập vào phương thức getCallerNumberVerificationStatus()
. Phương thức này hiển thị kết quả STIR/SHAKEN từ cơ chế xác minh nhà mạng cho giao thức STIR/SHAKEN. Điều này giúp bạn có thể phát hiện cuộc gọi tự động.
Ngoài ra, các ứng dụng sàng lọc cuộc gọi có thể triển khai màn hình sau cuộc gọi bằng cách gọi thao tác theo ý định ACTION_POST_CALL
. Thao tác này sẽ bắt đầu một hoạt động cho phép người dùng đánh dấu cuộc gọi là cuộc gọi làm phiền hoặc thêm một số điện thoại vào danh sách người liên hệ đã lưu.