Android 11(API レベル 30)以降では、プラットフォームが STIR/SHAKEN プロトコルをサポートしており、通話時に発信者の番号を確認して受信者に伝えるための、安全かつプライベートな方法を提供します。Android 11 以降では、ネイティブ ダイヤルアプリ、通話スクリーニング、スパムアプリなどのアプリが携帯通信会社の判定データにアクセスできます。これにより、アプリは迷惑電話を特定し、電話に出る前にユーザーに通知できるようになります。
Android 11 以降を搭載したデバイスの場合、CallScreeningService API を使用する通話スクリーニングアプリとスパムアプリは、通話をスクリーニングする機能にアクセスできるため、ユーザーのプライバシーとデバイスのパフォーマンスが向上します。この API を使用すると、アプリは個々の権限をリクエストする必要がなく、Android 10 以前の標準の権限リクエストでは取得できなかった追加情報にアクセスできます。この API で使用できるデータには次のものがあります。
- 着信または発信の数
- 着信の通知と終了
- 通話中と通話後のスクリーニング情報に関するシステム アラート ウィンドウへのアクセスの制限
- 着信を拒否する機能
- 通話時間
- 通話が切断された理由
- STIR/SHAKEN 判定結果
実装
電話アプリ、通話スクリーニング アプリ、スパムアプリは、CallScreeningService API を導入する必要があります。ユーザーがデフォルトの発信者番号およびスパムアプリとしてアプリを選択すると、アプリは getCallerNumberVerificationStatus()
メソッドへのアクセスを受け取ります。このメソッドにより、STIR/SHAKEN プロトコルの携帯通信会社の検証メカニズムから STIR/SHAKEN 判定結果が表示されます。これにより、ロボコールの検出が可能になります。
さらに、通話スクリーニング アプリでは、ACTION_POST_CALL
インテントのアクションを呼び出すことで、通話後の画面を実装できます。このアクションは、ユーザーが通話をスパムとしてマークしたり、保存済みの連絡先のリストに番号を追加したりできるアクティビティを開始します。