بررسی کردن اتصال اینترنت در اندروید ممکن است بخش مهمی از برنامه باش.د در صورتی که خطا ها اتصال به اینترنت را به شکل درست مدیریت نکرده باشید زمانی که یک request به یک url ارسال شود ممکن است برنامه شما کرش دهد به همین منظور لازم است بررسی کنید اینترنت موجود است .
برای بررسی اتصال اینترنت در اندروید ؛ ابتدا برای اینکه ما از کلاس ConnectivityManager و NetworkInfo استفاده کنیم نیاز است تا دسترسی های لازم را اضافه کنیم.
برای اینکار وارد فایل AndroidManifest.xml شده و دسترسی های زیر را به آن اضافه کنید.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
در صورت اضافه نکردن دسترسی ها برنامه کرش می دهد !
در صورتی که حرفه ای هستید از کد زیر استفاده کنید.
public static boolean hasInternetConnection() { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (wifiNetwork != null && wifiNetwork.isConnected()) { return true; } NetworkInfo mobileNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (mobileNetwork != null && mobileNetwork.isConnected()) { return true; } NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); if (activeNetwork != null && activeNetwork.isConnected()) { return true; } return false; }
در صورتی که نمی دانید باید کد را کجا قرار دهید ادامه را دنبال کنید.
در این آموزش کاری با Layout نداریم.
در MainActivity.java همانند زیر کدهای را قرار دهید.
package com.tik4; /** * Author Jefferson */ public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if(hasInternetConnection){ Toast.makeText(getApplicationContext(), "Have Connection !", Toast.LENGTH_LONG).show(); } else{ Toast.makeText(getApplicationContext(), "No Connection", Toast.LENGTH_LONG).show(); } } public static boolean hasInternetConnection() { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (wifiNetwork != null && wifiNetwork.isConnected()) { return true; } NetworkInfo mobileNetwork = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (mobileNetwork != null && mobileNetwork.isConnected()) { return true; } NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); if (activeNetwork != null && activeNetwork.isConnected()) { return true; } return false; } }
به همین سادگی بررسی اتصال اینترنت در اندروید را پیاده سازی کردیم ! در بالا سه بخش بررسی می شود ابتدا وایفا دوم دیتا و سوم اتصال به اینترنت (یعنی داشتن اینترنت) سپس با یک if آن را بررسی کرده ایم.
موفق و پیروز باشید.