Connectivity Manager: bu nədir, metodlar və qoşulmanın monitorinqi

Müəllif: IT Sectr Dərc olunub: 2026-03-10 Oxuma vaxtı: 9 dəq

Connectivity Manager — cihazın şəbəkə qoşulma vəziyyəti haqqında tətbiqlərə məlumat verən Android sistem xidmətidir. İnternet mövcudluğunu yoxlamağa, şəbəkə növünü (Wi-Fi, mobil məlumatlar, Ethernet) təyin etməyə, qoşulmadakı dəyişiklikləri izləməyə və rabitə keyfiyyətindən asılı olaraq şəbəkə sorğularını idarə etməyə imkan verir. Android Developers, 2025 məlumatına görə, ConnectivityManager şəbəkə monitorinqi üçün əsas API-dir və API Level 1-dən başlayaraq Android Framework-ün tərkibinə daxildir.

Əsas məqamlar

  • Connectivity Manager — cihazın şəbəkə qoşulmasını izləmək üçün Android sistem xidməti.
  • NetworkCallback — geri çağırışların qeydiyyatı vasitəsilə şəbəkə dəyişikliklərini izləmək üçün əsas mexanizm.
  • NetworkCapabilities — cari şəbəkənin imkanları haqqında ətraflı məlumat verən sinif (Wi-Fi, mobil məlumatlar, VPN, Ethernet).
  • NetworkRequest — müəyyən xüsusiyyətlərə malik şəbəkə növlərinə abunə olmaq üçün filtr.
  • getActiveNetworkInfo() — köhnəlmiş metod (API 29-dan etibarən deprecated), NetworkCallback və registerDefaultNetworkCallback ilə əvəz olunub.

Connectivity Manager nədir?

ConnectivityManager — Context.getSystemService(Context.CONNECTIVITY_SERVICE) vasitəsilə əldə edilə bilən Android əməliyyat sisteminin sistem xidmətidir. O, cihazın şəbəkə qoşulması haqqında məlumat əldə etmək, şəbəkə dəyişikliklərini izləmək və tətbiqin şəbəkə sorğularını idarə etmək üçün API təqdim edir. ConnectivityManager platformanın ilk versiyasından (API Level 1) Android Framework-ün bir hissəsidir və onilliklər ərzində əhəmiyyətli dəyişikliklərə məruz qalmışdır: sadə getActiveNetworkInfo()-dan NetworkCallback və NetworkRequest ilə müasir reaktiv modelə qədər.

Connectivity Manager-in əsas imkanlarına daxildir: aktiv şəbəkə qoşulmasının mövcudluğunu yoxlamaq, şəbəkə növünü təyin etmək (Wi-Fi, mobil məlumatlar, Ethernet, Bluetooth, VPN), şəbəkə vəziyyətinin dəyişikliklərini real vaxtda izləmək, ötürmə qabiliyyəti və gecikmələr haqqında məlumat əldə etmək, tətbiqin şəbəkə sorğularını idarə etmək. ConnectivityManager Offline-First arxitekturasını, adaptiv məzmun yükləməni və əlaqə keyfiyyətindən asılı olaraq tətbiqin işini optimallaşdırmağı həyata keçirmək üçün WorkManager və Repository ilə birlikdə istifadə olunur.

Android 10-dan (API 29) başlayaraq, Google ConnectivityManager ilə işə yanaşmanı dəyişdi. getActiveNetworkInfo() metodu deprecated elan edildi və onun əvəzinə registerDefaultNetworkCallback() və ya NetworkRequest ilə registerNetworkCallback() istifadə etmək tövsiyə olunur. Yeni API əsir portalları (avtorizasiya tələb edən Wi-Fi) aşkarlamaq və əlaqə keyfiyyətini qiymətləndirmək imkanı da daxil olmaqla, şəbəkə haqqında daha ətraflı məlumat verir. ConnectivityManager həmçinin Jetpack ailəsi ilə inteqrasiya olunub: ConnectivityManager kitabxanası 2024-cü ildə Compose tətbiqlərində şəbəkə monitorinqini sadələşdirmək üçün Jetpack-in bir hissəsi kimi buraxılıb.

Tətbiq arxitekturasında Connectivity Manager-in rolu

Müasir Android arxitekturasında Connectivity Manager API çağırışları haqqında qərarlar qəbul etmək üçün repository və ya UseCase səviyyəsində istifadə olunur. Repository təbəqəsi API-ni çağırmazdan əvvəl şəbəkə vəziyyətini yoxlayır: şəbəkə əlçatmazdırsa, məlumatlar yerli anbardan (Room) qaytarılır. Şəbəkə əlçatandırsa, serverə sorğu göndərilir və nəticə Room-da saxlanılır. ViewModel Room-dan Flow-a abunə olur və şəbəkə qarşılıqlı əlaqəsinin təfərrüatlarını bilmir — bu, hər bir təbəqəni müstəqil şəkildə asanlıqla test etməyə imkan verir.

Connectivity Manager necə işləyir

Connectivity Manager şəbəkə vəziyyəti haqqında məlumatı Linux nüvəsinin şəbəkə interfeysləri ilə əlaqə quran connectivity sistem xidmətindən alır. Cihaz Wi-Fi-a qoşulduqda və ya mobil məlumatları yandırdıqda, nüvə sistem xidmətinə xəbər verir, o da daxili vəziyyəti yeniləyir və bütün qeydiyyatdan keçmiş geri çağırışları xəbərdar edir. Arxitektura ConnectivityManager Observer nümunəsi üzərində qurulub: tətbiq NetworkCallback-i qeydiyyatdan keçirir və şəbəkədəki hər hansı dəyişikliklər — qoşulmanın yaranması, itirilməsi, şəbəkə növünün dəyişməsi və ya keyfiyyətin pisləşməsi barədə bildirişlər alır.

Müasir ConnectivityManager API-si şəbəkə hadisələrini filtrləmək üçün NetworkRequest-dən istifadə edir. NetworkRequest şəbəkəyə olan tələbləri müəyyən etməyə imkan verir: nəqliyyat (Transport.WIFI, Transport.CELLULAR, Transport.ETHERNET), İnternetə çıxış imkanı (NetworkCapabilities.NET_CAPABILITY_INTERNET) və digər meyarlar. Tətbiq böyük faylları yükləmək üçün yalnız Wi-Fi-a ehtiyac duyarsa, Transport.WIFI ilə NetworkRequest yaradır və geri çağırışı qeydiyyatdan keçirir. Sistem yalnız Wi-Fi qoşulması dəyişdikdə tətbiqə xəbər verəcək, mobil şəbəkə hadisələrini nəzərə almayacaq.

Android 12+-da Connectivity Manager-in vacib xüsusiyyəti capabilities-based networking-dir. Tətbiq sadəcə "İnternet var ya yox" yoxlamır, hansı növ trafikin mövcud olduğunu qiymətləndirə bilir. Məsələn, NET_CAPABILITY_NOT_METERED limitsiz qoşulmanı (Wi-Fi), NET_CAPABILITY_NOT_ROAMING isə cihazın rouminqdə olmadığını göstərir. Bu, qərarlar qəbul etməyə imkan verir: videonu yalnız Wi-Fi ilə yükləmək, rouminqdə sinxronizasiyanı təxirə salmaq və ya mobil məlumatları yalnız kritik sorğular üçün istifadə etmək.

API LevelTövsiyə olunan metodStatus
1-22getActiveNetworkInfo()Deprecated
21+NetworkCallback + registerNetworkCallback()Tövsiyə olunur
24+registerDefaultNetworkCallback()Tövsiyə olunur
28+getActiveNetwork() + NetworkCapabilitiesAlternativ
31+registerBestMatchingNetworkCallback()Yeni API

Connectivity Manager üçün icazələr

Android tətbiqində Connectivity Manager-dən istifadə etmək üçün icazələr tələb olunur. ACCESS_NETWORK_STATE — şəbəkə haqqında məlumatı oxumaq üçün məcburi icazə, AndroidManifest.xml-də bəyan edilir. Bu icazə olmadan ConnectivityManager getActiveNetwork() üçün null qaytaracaq və geri çağırışları çağırmayacaq. Şəbəkə əməliyyatlarını yerinə yetirmək üçün həmçinin INTERNET icazəsi tələb olunur. Android 10-dan (API 29) başlayaraq, tətbiq əlavə runtime icazələri olmadan şəbəkə vəziyyətini yoxlaya bilər — ACCESS_NETWORK_STATE normal icazədir və quraşdırma zamanı avtomatik verilir.

Connectivity Manager-in əsas metodları

Müasir Connectivity Manager şəbəkə ilə işləmək üçün bir neçə əsas metod təqdim edir. getActiveNetwork() (API 23+) cari aktiv şəbəkənin Network obyektini və ya cihaz qoşulmayıbsa null qaytarır. Bu metod geri çağırış tələb etmir və birdəfəlik yoxlama üçün uyğundur. Network obyekti ətraflı məlumat əldə etmək üçün NetworkCapabilities-ə ötürülə bilər: nəqliyyat növü, metered statusu, rouminq, İnternetə çıxış imkanı və digər xüsusiyyətlər.

registerDefaultNetworkCallback() (API 24+) — şəbəkə monitorinqi üçün üstünlük verilən üsul. Tətbiq standart şəbəkədə (tətbiqin trafik göndərdiyi şəbəkə) hər hansı dəyişiklik olduqda çağırılan geri çağırışı qeydiyyatdan keçirir. Geri çağırış soketləri və HTTP müştərilərini bağlamaq üçün istifadə edilə bilən Network obyekti alır. Bu metod köhnəlmiş getActiveNetworkInfo()-nı əvəz edir və polling olmadan reaktiv şəbəkə monitorinqini təmin edir.

registerNetworkCallback() (API 21+) NetworkRequest vasitəsilə müəyyən şəbəkə növünün dəyişikliklərinə abunə olmağa imkan verir. Məsələn, tətbiq new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build() vasitəsilə yalnız Wi-Fi şəbəkələrini izləyə bilər. Sistem mobil şəbəkə hadisələrinə toxunmadan Wi-Fi-a qoşulma/ayrılma barədə tətbiqə xəbər verəcək. NetworkCapabilities.getLinkDownstreamBandwidthKbps() aşağı istiqamətli kanalın ötürmə qabiliyyətini kbps ilə qaytarır ki, bu da məzmun keyfiyyətini əlaqə sürətinə uyğunlaşdırmağa imkan verir.

MetodMinimal APIMəqsəd
getActiveNetwork()23Cari aktiv şəbəkənin əldə edilməsi
getNetworkCapabilities()21Şəbəkə imkanlarının əldə edilməsi (növ, metered, rouminq)
registerDefaultNetworkCallback()24Standart şəbəkənin monitorinqi
registerNetworkCallback()21NetworkRequest filtrinə uyğun şəbəkələrin monitorinqi
unregisterNetworkCallback()21Geri çağırışın qeydiyyatının ləğvi
getActiveNetworkInfo()1Köhnəlmiş (deprecated), istifadə etməyin

Jetpack Compose-da ConnectivityManager

Jetpack Connectivity kitabxanası (androidx.core:core-ktx) Compose-da ConnectivityManager ilə işləmək üçün rahat genişlənmələr təqdim edir. ConnectivityManager.observeAsState() funksiyası şəbəkə dəyişdikdə yenilənən State<Boolean> qaytarır. @Composable NetworkStatus() komponenti qoşulma statusunu göstərir və dəyişikliklər olduqda avtomatik yenidən çəkilir. Bu, tərtibatçını geri çağırışları və Activity/Fragment həyat dövrünü əl ilə idarə etməkdən azad edir.

NetworkCallback və şəbəkə dəyişikliklərinin idarə edilməsi

ConnectivityManager.NetworkCallback — şəbəkə vəziyyəti dəyişdikdə sistem tərəfindən çağırılan metodları olan abstrakt sinifdir. onAvailable(Network) — şəbəkə əlçatan olduqda çağırılır. Tətbiq Network.bindSocket() vasitəsilə soketləri bağlamaq üçün istifadə edilə bilən Network obyekti alır. onLost(Network) — şəbəkə əlçatmaz olduqda çağırılır. Tətbiq yerli məlumatlara keçməli və ya əlaqənin olmaması barədə mesaj göstərməlidir. onCapabilitiesChanged(Network, NetworkCapabilities) — şəbəkə xüsusiyyətləri dəyişdikdə çağırılır (məsələn, Wi-Fi-dan mobil məlumatlara keçid zamanı).

Şəbəkə dəyişikliklərinin düzgün idarə edilməsi komponentin həyat dövrünü nəzərə almalıdır. Geri çağırış qeydiyyatdan keçirilməlidir onStart()/onResume() daxilində və ləğv edilməlidir onStop()/onPause() daxilində. Geri çağırış ləğv edilməzsə, Activity məhv edildikdən sonra da çağırıla bilər ki, bu da yaddaş sızmasına səbəb olur. Jetpack ViewModel arxitekturasında geri çağırışı qeydiyyatdan keçirmək üçün lifecycleScope istifadə etmək tövsiyə olunur ki, ViewModel təmizlənərkən avtomatik ləğv edilsin. Xidmətlər və fon tapşırıqları üçün NetworkType məhdudiyyəti ilə WorkManager istifadə olunur.

Captive portalların idarə edilməsi — Android 10-dan başlayaraq ConnectivityManager-in vacib imkanıdır. CAPTIVE_PORTAL — Wi-Fi şəbəkəsinin mövcud olduğu, lakin veb səhifə vasitəsilə avtorizasiya tələb etdiyi ssenaridir (hava limanları, otellər, kafelər). NetworkCapabilities.NET_CAPABILITY_VALIDATED şəbəkənin İnternetə tam çıxışı olduğunu göstərir. NET_CAPABILITY_VALIDATED yoxdursa, tətbiq captive portal vasitəsilə avtorizasiya üçün brauzeri aça bilər. Captive portalı aşkar etmək üçün Android 11-də (API 30) əlavə edilmiş isCaptivePortal() metodu istifadə olunur.

Xüsusi məqsədlər üçün şəbəkə (NetworkRequest)

ConnectivityManager requestNetwork() və bindProcessToNetwork() vasitəsilə konkret məqsədlər üçün şəbəkə tələb etməyə imkan verir. Məsələn, böyük faylları yükləmək üçün tətbiq mobil şəbəkə aktiv olsa belə Wi-Fi şəbəkəsi tələb edə bilər. Bunun üçün addTransportType(TRANSPORT_WIFI) ilə NetworkRequest yaradılır və Wi-Fi göründükdə sistem onAvailable()-ı çağırır. Tətbiq soketləri network.bindSocket() və ya konfiqurasiya edilmiş Network obyekti ilə OkHttp vasitəsilə bu şəbəkəyə bağlayır. Bu, şəbəkə interfeyslərindən istifadə üzərində çevik nəzarət verir.

Kotlin-də tətbiq nümunəsi

Clean Architecture-da müasir API (NetworkCallback) ilə ConnectivityManager-dən istifadənin tam nümunəsini nəzərdən keçirək. NetworkMonitor — StateFlow vasitəsilə reaktiv şəbəkə statusu təmin edən ConnectivityManager üzərində sarğı sinfi. ViewModel bu Flow-a abunə olur və vəziyyəti UI-ya ötürür. Repository şəbəkə sorğuları haqqında qərarlar qəbul etmək üçün NetworkMonitor-dan istifadə edir. Bu yanaşma test edilə bilənliyi və platforma asılılıqlarının izolyasiyasını təmin edir.

Aşağıdakı nümunə registerDefaultNetworkCallback ilə ConnectivityManager-dən necə düzgün istifadə olunacağını göstərir. NetworkMonitor sinfi sistem xidməti ilə işi inkapsulə edir və təmiz Kotlin Flow<Boolean> təqdim edir. Başlanğıcda geri çağırışı qeydiyyatdan keçirir və həyat dövrü başa çatdıqda ləğv edir. Asinxron iş korutinlər və callbackFlow vasitəsilə təmin edilir — ConnectivityManager-in geri çağırış üslubu ilə Kotlin-in reaktiv Flow üslubu arasında körpü.

kotlin
class NetworkMonitor(
    private val connectivityManager: ConnectivityManager
) {
    val isOnline: StateFlow<Boolean> = callbackFlow {
        val callback = object : ConnectivityManager.NetworkCallback() {
            override fun onAvailable(network: Network) {
                trySend(true)
            }
            override fun onLost(network: Network) {
                trySend(false)
            }
            override fun onCapabilitiesChanged(
                network: Network,
                caps: NetworkCapabilities
            ) {
                val connected = caps.hasCapability(
                    NetworkCapabilities.NET_CAPABILITY_INTERNET
                )
                trySend(connected)
            }
        }
        connectivityManager.registerDefaultNetworkCallback(callback)
        awaitClose {
            connectivityManager.unregisterNetworkCallback(callback)
        }
    }.stateIn(
        CoroutineScope(Dispatchers.Default),
        SharingStarted.WhileSubscribed(5000),
        initialValue = checkInitialState()
    )

    private fun checkInitialState(): Boolean {
        val network = connectivityManager.getActiveNetwork() ?: return false
        val caps = connectivityManager.getNetworkCapabilities(network) ?: return false
        return caps.hasCapability(
            NetworkCapabilities.NET_CAPABILITY_INTERNET
        )
    }
}

NetworkMonitor-un ViewModel və Repository-də istifadəsi

ViewModel NetworkMonitor.isOnline-a stateIn() vasitəsilə abunə olur və vəziyyəti Compose-a ötürür. Repository API-ni çağırmazdan əvvəl isOnline.value cari dəyərini yoxlayır: false olarsa, Room-dan Flow qaytarır. True olarsa, API-ni çağırır, nəticəni Room-da saxlayır və Room-dan Flow qaytarır. WorkManager fon tapşırıqlarını məhdudlaşdırmaq üçün NetworkType.CONNECTED istifadə edir. NetworkMonitor-un test edilməsi mock ConnectivityManager obyekti və fake NetworkCallback ilə aparılır ki, bu da vahid testlərdə istənilən şəbəkə ssenarilərini emulyasiya etməyə imkan verir.

Best Practices və ümumi səhvlər

ConnectivityManager ilə işin birinci qaydası — köhnəlmiş API-dən istifadə etməməkdir. getActiveNetworkInfo() API 29-dan etibarən deprecated-dir və Android-in yeni versiyalarında yanlış məlumatlar qaytara bilər. Onun əvəzinə birdəfəlik yoxlama üçün getActiveNetwork() + getNetworkCapabilities(), davamlı monitorinq üçün isə registerDefaultNetworkCallback() istifadə edin. Köhnə metod captive portalı olan şəbəkələri tam İnternetə çıxışı olan şəbəkələrdən fərqləndirmir, bu da yalan nəticələrə səbəb olur.

İkinci qayda — həmişə geri çağırışın qeydiyyatını ləğv edin. Activity onStart()-da NetworkCallback-i qeydiyyatdan keçirir, lakin onStop()-da ləğv etməzsə, geri çağırış Activity məhv edildikdən sonra da işləməyə davam edir. Bu, yaddaş sızmasına və geri çağırış məhv edilmiş komponentin UI-nı yeniləməyə çalışdıqda potensial NullPointerException-a səbəb olur. Qeydiyyatı avtomatik idarə etmək üçün lifecycleScope və ya repeatOnLifecycle istifadə edin. Jetpack Compose-da geri çağırışı qeydiyyatdan keçirmək və ləğv etmək üçün DisposableEffect istifadə edin.

Üçüncü ümumi səhv — şəbəkənin keyfiyyətini nəzərə almadan yalnız mövcudluğunu yoxlamaqdır. Sadəcə "İnternet var" qərar qəbul etmək üçün kifayət deyil. Tətbiq böyük faylları yükləmək üçün NET_CAPABILITY_NOT_METERED, fonda sinxronizasiya üçün NET_CAPABILITY_NOT_ROAMING, İnternetə çıxışı təsdiqləmək üçün NET_CAPABILITY_VALIDATED yoxlamalıdır. Bu bayraqları nəzərə almamaq tətbiqin rouminqdə video yükləməyə və ya otelin captive portalı vasitəsilə məlumatları sinxronizasiya etməyə cəhd etməsinə səbəb olur.

Dördüncü — konkret serverin əlçatanlığını yoxlamaq üçün ConnectivityManager-dən istifadə etməyin. ConnectivityManager cihazdakı şəbəkə vəziyyəti haqqında məlumat verir, lakin serverin əlçatan olduğuna zəmanət vermir. API-nin əlçatanlığını yoxlamaq üçün qısa timeout ilə HTTP sorğusu və ya Health Check istifadə edin. ConnectivityManager + HTTP ping etibarlı kombinasiyadır: əvvəlcə şəbəkənin mövcudluğu yoxlanılır, sonra real əlçatanlığı təsdiqləmək üçün serverə yüngül sorğu göndərilir.

ConnectivityManager-in test edilməsi

Vahid testlər üçün şəbəkə vəziyyətini emulyasiya etməyə imkan verən ShadowConnectivityManager ilə Robolectric istifadə edin. İnteqrasiya testləri üçün — Təyyarə rejimini dəyişən Android Test Orchestrator. Testlərdə ssenariləri yoxlayın: onlayndan offlayna keçid, aktiv mobil şəbəkə olduqda Wi-Fi-nın görünməsi, sorğunun icrası zamanı şəbəkənin itirilməsi, captive portal, rouminq. Modul testlərində mock etmək üçün platforma asılılıqları olmayan mock obyekti ilə əvəz edilə bilən sarğı interfeysindən (məsələn, NetworkMonitorInterface) istifadə edin.

Tez-tez verilən suallar

Cihazın İnternetə qoşulduğunu necə yoxlamaq olar?

Müasir üsul — onCapabilitiesChanged-də NET_CAPABILITY_INTERNET yoxlaması ilə registerDefaultNetworkCallback() istifadə etməkdir. Birdəfəlik yoxlama üçün: connectivityManager.getActiveNetwork()?.let { caps -> caps.hasCapability(NET_CAPABILITY_INTERNET) } ?: false. Köhnəlmiş getActiveNetworkInfo() metodu API 29+-da tövsiyə edilmir.

ConnectivityManager üçün hansı icazə lazımdır?

Şəbəkə haqqında məlumatı oxumaq üçün android.permission.ACCESS_NETWORK_STATE icazəsi tələb olunur. Bu normal icazədir (normal permission) — tətbiq quraşdırılarkən avtomatik verilir və runtime sorğusu tələb etmir. Şəbəkə əməliyyatlarını (HTTP sorğuları) yerinə yetirmək üçün həmçinin INTERNET icazəsi tələb olunur.

registerDefaultNetworkCallback registerNetworkCallback-dan nə ilə fərqlənir?

registerDefaultNetworkCallback() standart şəbəkəni — tətbiqin əsas trafik göndərdiyi şəbəkəni izləyir. registerNetworkCallback(NetworkRequest) verilmiş filtrə uyğun şəbəkələri izləyir (məsələn, yalnız Wi-Fi). Standart geri çağırış daha sadədir və ssenarilərin 90%-ni əhatə edir, fərdi request isə şəbəkə növünə xüsusi tələblər üçündür.

Şəbəkə növünü necə təyin etmək olar: Wi-Fi və ya mobil məlumatlar?

NetworkCapabilities istifadə edin: Wi-Fi üçün caps.hasTransport(NetworkCapabilities.TRANSPORT_WIFI), mobil məlumatlar üçün hasTransport(TRANSPORT_CELLULAR). ConnectivityManager.getActiveNetworkInfo().getType() istifadə etməyin — bu metod deprecated-dir. NetworkCapabilities connectivityManager.getNetworkCapabilities(network) vasitəsilə əldə edilə bilər.

Niyə getActiveNetworkInfo() köhnəlmişdir?

getActiveNetworkInfo() qeyri-dəqiqlik səbəbindən köhnəlmişdir: captive portalı olan şəbəkələri tam İnternetə çıxışı olan şəbəkələrdən fərqləndirmir, ötürmə qabiliyyəti və rouminq haqqında məlumat vermir. Android 10-dan başlayaraq, bu metod çoxkanallı qoşulmalar (multi-network) üçün null və ya yanlış məlumatlar qaytara bilər. Əvəzedici — getActiveNetwork() + NetworkCapabilities.

Nəticə

  • ConnectivityManager — getSystemService(CONNECTIVITY_SERVICE) vasitəsilə əldə edilən şəbəkə qoşulmasını izləmək üçün Android sistem xidməti.
  • Müasir API — API 29-dan etibarən köhnəlmiş getActiveNetworkInfo()-nı əvəz edən registerDefaultNetworkCallback() + NetworkCapabilities.
  • NetworkCapabilities — şəbəkə növünü (Wi-Fi, Cellular), metered, rouminq və İnternet qoşulmasının validasiyasını yoxlamaq üçün sinif.
  • NetworkCallback — şəbəkə dəyişikliklərini izləmək üçün onAvailable, onLost və onCapabilitiesChanged metodları ilə reaktiv monitorinq mexanizmi.
  • NetworkRequest — dəqiq nəzarət üçün registerNetworkCallback() ilə istifadə olunan müəyyən növ şəbəkələrə abunə filtri.
  • ACCESS_NETWORK_STATE icazəsi — ConnectivityManager ilə işləmək üçün məcburidir, tətbiq quraşdırılarkən avtomatik verilir.
  • Best Practices — geri çağırışları onStop()-da ləğv edin, NET_CAPABILITY_NOT_METERED və NET_CAPABILITY_VALIDATED yoxlayın, keyfiyyəti yoxlamadan yalnız şəbəkənin mövcudluğuna etibar etməyin.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun