Werfen Sie einen Blick hier ->How to determine if network type is 2G, 3G or 4G
getNetworkType()
kehren Sie die NETWORK_TYPE_xxxx
für die aktuelle Datenverbindung, wählte ich diese Methode unter den Antworten für meine Arbeit, add whateve r die Netzwerktypen, die Sie unter diesen Schalter Fälle filtern möchten
können Sie diese folgende Methode setzen direkt in Ihrer Klasse Utility:
public String getNetworkClass(Context context) {
TelephonyManager mTelephonyManager = (TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
int networkType = mTelephonyManager.getNetworkType();
switch (networkType) {
case TelephonyManager.NETWORK_TYPE_GPRS:
case TelephonyManager.NETWORK_TYPE_EDGE:
case TelephonyManager.NETWORK_TYPE_CDMA:
case TelephonyManager.NETWORK_TYPE_1xRTT:
case TelephonyManager.NETWORK_TYPE_IDEN:
return "2G";
case TelephonyManager.NETWORK_TYPE_UMTS:
case TelephonyManager.NETWORK_TYPE_EVDO_0:
case TelephonyManager.NETWORK_TYPE_EVDO_A:
case TelephonyManager.NETWORK_TYPE_HSDPA:
case TelephonyManager.NETWORK_TYPE_HSUPA:
case TelephonyManager.NETWORK_TYPE_HSPA:
case TelephonyManager.NETWORK_TYPE_EVDO_B:
case TelephonyManager.NETWORK_TYPE_EHRPD:
case TelephonyManager.NETWORK_TYPE_HSPAP:
return "3G";
case TelephonyManager.NETWORK_TYPE_LTE:
return "4G";
default:
return "Unknown";
}
}
Lesen Sie das Dokument, das mit sauberen & klar ->https://developer.android.com/reference/android/telephony/TelephonyManager.html#getNetworkType()
bearbeiten
Wenn Sie wollen einen Scan tun Sie eine BroadcastReceiver
erstellen müssen für Wifi Scan-Ergebnisse zu hören: und Filter mit NETWORK_TYPE_LTE
private final BroadcastReceiver mWifiScanReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent intent) {
if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
List<ScanResult> mScanResults = mWifiManager.getScanResults();
// add your logic here to filter
}
}
}
In onCreate()
Sie mWifiManager
und initiieren einen Scan zuordnen würde:
mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
registerReceiver(mWifiScanReceiver,
new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
mWifiManager.startScan();
Danke für deine Antwort, aber das ist nicht meine Frage, der Punkt ist ** Gerät ist nicht verbunden ** und ich möchte überprüfen, ob das Gerät das 4G-Netzwerk unterstützt. –
Dafür benötigen Sie eine App? Es ist dort auf der Gerätespezifikation –
Danke für Ihre Antwort, aber Ihre Antwort ist für die Suche nach Wifi nicht für 4G LTE! –