İnternet Bağlantısı Kontrolü | Android

İ

Geliştirdiğiniz uygulama internet kullanacaksa, bu işlemlerden önce, cihazın internet bağlantısını (şebeke veya kablosuz) kontrol etmeniz gerekir. Aksi takdirde uygulamanın hata vermesi muhtemeldir.

Ayrıca cihazın internet erişimini kontrol için, cihaza (manifest) izin verilmesi gerektiğini hatırlatırım. Kontrolü yapıp Boolean return eden metod şu şekilde:

[code lang=”java”]

public static Boolean checkInternetConnection(Context ctx) {
ConnectivityManager cm = (ConnectivityManager) ctx.getSystemService(ctx.getApplicationContext().CONNECTIVITY_SERVICE);

   if (cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isAvailable() && cm.getActiveNetworkInfo().isConnected()) {
      Toast.makeText(ctx.getApplicationContext(), "Bağlantı var!" , Toast.LENGTH_LONG).show();
      return true;
   } else {
      Toast.makeText(ctx.getApplicationContext(), "Bağlantı hatası.", Toast.LENGTH_LONG).show();
      return false;
   }
}

[/code]

Manifest’e eklenecek izin ise;

[code lang=”xml”] uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"
[/code]

Uygulamanın akışına göre Toast veya başka bir işleme yönlendirme yapabilirsiniz. Son olarak Context parametresini atlamamak gerek.

Metodu çağırdığınız Activity’nin kendisini this ile göndermeniz gerekli.
Örnek: MyClass.checkInternetConnection(MyClass.this). Kolay gelsin.

1 Yorum

  • Merhaba , internet bağlantısı kontrolünü çok güzel anlatmışsınız ,emeğinize sağlık .Şöyle bir sorum olacak ; eğer biz bu internet bağlantısını tüm uygulama boyunca kontrol etmek istersek ne yapmalıyız ? Bu metodu her class’ta ayrı ayrı çağırmak yerine daha kolay bir metod var mı ? Statik Broadcast receiver ile de bu sorun çözülebilir miyiz ?

Oğulcan

Arşivler

Kategoriler