スポンサーリンク

【Android】Android Javaで5G回線判定を行う方法。

Flutter
スポンサーリンク

今回の記事はAndroid端末で5G回線の取得を行う方法をJavaでご紹介します。普段のAndroid開発はFlutterで行っているのですが回線取得のプラグインはまだないためJavaのクラスを使用します。FlutterからJavaを使用する方法の記事も記載しているの気になる方は是非ご参照ください。では早速手順に進んでいきます。

スポンサーリンク

スポンサーリンク

5G回線判定を行う方針

基本的にAndroid OSが最新の10の場合は下記が問題なく使用できるのでこちらで回線情報に5Gと判断できると思ういます。ただ、2021年3月段階ではまだこのOSバージョンの方は少ないと思いますので代替案を提示します。

それはバンド帯域幅での判定です。

4Gと5Gのバンド幅は各キャリアによって異なりますが大きく異なります。つまり現在掴んでいる回線のバンド帯域によって判定できるというわけです。

また、各キャリアで5G基地局のCell IDなどが公開されるのであればCell IDなどからも判別できると思うのですが現状はまだ難しい?と思われます。

では帯域幅を取得できるJavaのクラスのご紹介と使い方についてみていきましょう。

Java5G回線判定コード

package com.example.javapost;

import android.telephony.CellIdentityLte;
import android.telephony.CellInfo;
import android.telephony.CellInfoLte;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    private TelephonyManager telephonyManager;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
    }

    @Override
    protected void onResume() {
        super.onResume();
        telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_CELL_INFO);
    }

    @Override
    protected void onPause() {
        super.onPause();
        telephonyManager.listen(phoneStateListener, PhoneStateListener.LISTEN_NONE);
    }

    PhoneStateListener phoneStateListener = new PhoneStateListener(){

        public void onCellInfoChanged(java.util.List<android.telephony.CellInfo> cellInfoList) {
            System.out.println(cellInfoList);
        };
    };
}

これで出力されるものの中でbandwidthを見つけてみてください。こちらが現在掴んでいるバンド帯域幅を表していますので照らし合わせてみてください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Flutter
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました