Android 10 以降のデバイスは、5G NSA(非スタンドアロン)に対応しています。5G NSA は、既存の 4G インフラストラクチャによってネットワークがサポートされた 5G ネットワーク用のソリューションです。Android 10 では、デバイスが 5G ネットワークに接続すると、ステータスバーに 5G アイコンが表示されます。
実装
携帯通信会社の設定
ステータスバーでの 5G アイコンの表示方法を設定する場合、携帯通信会社は CarrierConfig
にある KEY_5G_ICON_CONFIGURATION_STRING
キーを使用します。
5G NSA では以下のシナリオを利用できます。
- セカンダリセルとして 5G セルに接続し、ミリ波を使用するデバイス。
- セカンダリセルとして 5G セルに接続し、ミリ波を使用しないデバイス。
- 5G 機能を備えたネットワークにキャンプオンしており(5G セルにセカンダリセルとして接続している必要はない)、5G の使用が制限されておらず、無線リソース管理(RRC)の状態が
IDLE
(接続なし)のデバイス。 - 5G 機能を備えたネットワークにキャンプオンしており(5G セルにセカンダリセルとして接続している必要はない)、5G の使用が制限されておらず、無線リソース管理(RRC)の状態が
CONNECTED
のデバイス。 - 5G 機能を備えたネットワークにキャンプオンしているが(5G セルにセカンダリセルとして接続している必要はない)、5G の使用が制限されているデバイス。
設定文字列には、カンマで区切った複数の Key-Value ペアが含まれます。ペアごとにキーと値がコロンで区切られます。設定文字列のキーは、上記の 5G のシナリオに応じて次のいずれかが表示されます。
connected_mmwave
connected
not_restricted_rrc_idle
not_restricted_rrc_con
restricted
設定文字列の値には、/packages/SettingsLib/res/
ディレクトリ内のアイコンの名前と一致する有効なアイコン名を指定する必要があります。5G NSA には、デフォルトで 5G
と 5G_PLUS
という 2 つのアイコンが用意されています。
図 1. デフォルトの 5G アイコンと 5G_PLUS 5G アイコン
5G アイコンは、デバイスが実際に 5G 接続しているシナリオ 1(connected_mmwave
)とシナリオ 2(connected
)の場合にのみ表示します。シナリオ 1 の場合は 5G_PLUS
アイコンを、シナリオ 2 の場合は 5G
アイコンを使用します。以下に、CarrierConfig
での設定文字列の例を示します。
connected_mmwave:5G_PLUS,connected:5G
システム UI
携帯通信会社が特定のステータスに使用するアイコンをカスタマイズするには、MobileIconGroup
オブジェクトを TelephonyIcons.java
に追加します。MobileIconGroup
のアイコン名は、CarrierConfig
で使用するアイコン名と一致する必要があります。例として、カスタマイズした「5G_PLUS」という名前のアイコンを MobileIconGroup
に追加する方法を次に示します。
static final MobileIconGroup NR_5G_PLUS = new MobileIconGroup(
"5G_PLUS",
null,
null,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH,
0,
0,
0,
0,
AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0],
R.string.data_connection_5g_plus,
TelephonyIcons.ICON_5G_PLUS,
true);
検証
アイコンが正しく実装されたことを検証するには、デバイスが 5G セルに接続した際にステータスバーに表示される 5G アイコンを確認します。