Rilevare un dispositivo capace 4G
-
09-10-2019 - |
Domanda
Devo rilevare la capacità 4G del dispositivo.
Come lo posso fare?
Grazie per qualsiasi suggerimento.
Soluzione
4G non è qualcosa che puoi "rilevare", perché il 4G è un termine di marketing, non un termine tecnico.
È possibile rilevare se una connessione consolidata è WiMAX utilizzando ConnectivityManager
. Non sono a conoscenza di Android che supporta qualsiasi altro tipo di connettività commercializzata specificamente come 4G.
Altri suggerimenti
Ho la stessa necessità. Quello che vuoi veramente è la larghezza di banda attuale. Ottieni queste informazioni dal wifi, ma non mobili. Quindi la prossima cosa migliore che mi è venuta in mente è stata rilevare se il dispositivo è su 4G o no. Sfortunatamente, non è così semplice.
Oltre a WiMAX, è possibile verificare se il dispositivo ha una connessione mobile utilizzando il ConnectivityManager
. Se rilevi un tipo di ConnectivityManager.TYPE_MOBILE
, quindi controlli il sottotipo. Se il sottotipo è TelephonyManager.NETWORK_TYPE_LTE
o TelephonyManager.NETWORK_TYPE_EHRPD
, il dispositivo è 4G capace.
Se la rete attiva è sottotipo TelephonyManager.NETWORK_TYPE_LTE
, allora sei su 4G (ma non ho avuto l'opportunità di verificarlo). Se rilevi TelephonyManager.NETWORK_TYPE_EHRPD
, non hai idea se sei su 3G o 4G ... almeno non sono stato ancora in grado di rilevare la differenza.
Potrebbero esserci altri sottotipi che indicano un dispositivo capace 4G, ma non li ho verificati empiricamente.
Non è certamente una risposta definitiva, ma spero che aiuti.