Apps für Android programmieren leicht gemacht!
netzart prüfen

Netzart prüfen

Es kann immer mal wieder vorkommen, dass man prüfen muss welches Netz das Gerät momentan zur Verfügung hat.
Sei es um eine Meldung auszugeben, dass der Download einer Datei unter EDGE einfach zu lange braucht oder um einfach kleinere Bilder zu laden.

Mit ein paar wenigen Zeilen Code kann man die Netzart ganz einfach nachprüfen und so dem Nutzer ein bessere Erlebnis innerhalb der eigenen App ermöglichen.

TelephonyManager telMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
int simState = telMgr.getNetworkType();

if(simState == TelephonyManager.NETWORK_TYPE_1xRTT) {

    //Die momentane Netzart ist 1xRTT (2g)

}else if(simState == TelephonyManager.NETWORK_TYPE_CDMA){

    //Die momentane Netzart ist CDMA (2g)

}else if(simState == TelephonyManager.NETWORK_TYPE_EDGE){

    //Die momentane Netzart ist EDGE (2g)

}else if(simState == TelephonyManager.NETWORK_TYPE_IDEN){

    //Die momentane Netzart ist iDen (2g)

}else if(simState == TelephonyManager.NETWORK_TYPE_GPRS){

    //Die momentane Netzart ist GPRS (2g)

}else if(simState == TelephonyManager.NETWORK_TYPE_EHRPD){

    //Die momentane Netzart ist EHRPD (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_EVDO_0){

    //Die momentane Netzart ist EVDO 0 (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_EVDO_A){

    //Die momentane Netzart ist EVDO A (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_EVDO_B){

    //Die momentane Netzart ist EVDO B (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_HSDPA){

    //Die momentane Netzart ist HSDPA (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_HSPA){

    //Die momentane Netzart ist HSPA (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_HSPAP){

    //Die momentane Netzart ist HSPAP (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_HSUPA){

    //Die momentane Netzart ist HSUPA (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_UMTS){

    //Die momentane Netzart ist UMTS (3g)

}else if(simState == TelephonyManager.NETWORK_TYPE_LTE){

    //Die momentane Netzart ist LTE (4g)

}else if(simState == TelephonyManager.NETWORK_TYPE_UNKNOWN){

    //Die momentane Netzart ist unbekannt, das Gerät besitzt keine Netzverbindung oder keinen Simkartenslot.

}

Einige der Standards sind hierzulande eher unüblich, veraltet oder gar nicht anzutreffen. Der Vollständigkeit halber liste ich sie aber mit auf.

 

Vorerst ist es allerdings notwendig sich eine Berechtigung einzuholen.
Dazu öffnet man die AndroidManifest.xml Datei und fügt irgendwo innerhalb des Manifest-Tags folgendes ein:

<manifest>

    [...]

    <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

    [...]

 </manifest>

 

Diese Funktion ist übrigens seit Android 1.0 verfügbar, ihr müsst euch also keine Sorgen über die Verfügbarkeit machen.

Netzart prüfen


Downloade dir jetzt unseren Beispielcode, wie man in Android prüfen kann, was für eine Netzart gerade zur mobilen Surfen besteht.

DownloadLizenzbedingungen

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld