デバイスの 4G 機能を検出する必要があります。
どうやってやるの?
ヒントをありがとう。
4G は技術用語ではなくマーケティング用語であるため、「検出」できるものではありません。
を使用して、確立された接続が WiMAX であるかどうかを検出できますConnectivityManager
。特に 4G として販売されている他の種類の接続を Android がサポートしているとは知りません。
私も同じ必要があります。本当に必要なのは、現在の帯域幅です。その情報は Wi-Fi から取得できますが、モバイルでは取得できません。そこで私が思いついた次善の策は、デバイスが 4G に接続されているかどうかを検出することでした。残念ながら、それほど単純ではありません。
WiMAX 以外にも、 を使用してデバイスにモバイル接続があるかどうかを確認できますConnectivityManager
。のタイプが検出された場合はConnectivityManager.TYPE_MOBILE
、サブタイプを確認します。サブタイプがTelephonyManager.NETWORK_TYPE_LTE
またはの場合TelephonyManager.NETWORK_TYPE_EHRPD
、デバイスは 4G対応です。
アクティブなネットワークがサブタイプの場合、TelephonyManager.NETWORK_TYPE_LTE
4G を使用しています (ただし、これを確認する機会はありませんでした)。が検出TelephonyManager.NETWORK_TYPE_EHRPD
された場合、3G か 4G のどちらを使用しているかわかりません...少なくとも私はまだ違いを検出できていません。
4G 対応デバイスを示す他のサブタイプがあるかもしれませんが、私はそれらを経験的に検証していません。
確実な回答ではありませんが、参考になれば幸いです。