アンテナピクト📶の隣に居座る5Gアイコンが何を示しているのか、その真実に迫るアプリです。
https://play.google.com/store/apps/details?id=io.github.takusan23.newradiosupporter
- Sub-6 / ミリ波 / アンカーバンド の検出
- 5Gの場合は スタンドアローン方式 / ノンスタンドアローン方式 の表示
- デュアルSIM 対応
- 多分 5G はデータ通信に設定したSIMカードしか拾わない気がします
- ウィジェットを追加してホーム画面から確認
- バックグラウンドでも通知領域から確認
- おまけ程度のバンド表示
n257
とか
(なんか従量制ネットワークか無制限ネットワークか検出出来るよ!って書いてあったんだけど検出できてない。流石にできないやろ...)
MCC / MNC
が日本のキャリアの場合は追加の処理を行います。
これはNR-ARFCN
が複数のバンドに一致する場合、通信キャリアが提供しているバンドを優先して返すようにするためです。
(NR-ARFCN
が643334
だとn48 n77 n78
のどれかになるらしい。対応表から探すと多分一番最初のn48
になるけど、日本でn48
使ってるところはないのでn77 n78
のどちらかになるはず。)
(提供しているバンドはソースコードに書きました、負けた気分)
本当はCellIdentityNr#getBands
っていうバンドを返す関数があるのですが、この関数自体がモデムから報告された値
ではなく、NR-ARFCN とバンドの対応表
から探してきたものらしい(?)、
ので結局複数のバンドに一致する場合に一つに絞れない。
Pixel 端末はモデムから取得するよう修正されたらしいけど、その他の端末はわからん。
https://issuetracker.google.com/issues/253539094
JetpackComposeでできてます。最新のAndroid Studioで実行できるはずです。
Android Studio
が必要です
- このリポジトリをクローンします
git clone https://github.com/takusan23/NewRadioSupporter
- git がない場合は zip をダウンロードして解凍しても良いかもしれないです
- Android Studio で開きます
- 暫く待つと、実行ボタンが押せるようになるので押します
*#*#4636#*#*
でNR/LTE
にしておくと、SIMカードを抜いても動く?(なんで...)