من البديهي عندما تستعمل تطبيق يحتاج الاتصال بالانترنت، تقوم بتشغيل الوايفاي أو الفور جي قبل البدء في التصفح. لكن في بعض الاحيان تنسى أن تقوم بهذه العملية أو ينقطع الاتصال بالشبكه. في هذه الحالة يقوم التطبيق باعلامنا برسالة مفادها أنك غير متصل بالانترنت. لإدراج هذه الرسالة بتطبيقك تحتاج للاكواد التالية
  • الخطوة 1: إضافية الصلاحيات التاليه إلى 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" /
  • الخطوة 2:  تعديل ملف MainActivity.java قم بنسخ الكود التالي داخل ملف MainActivity.java
public boolean isConnected(Context context) {

    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netinfo = cm.getActiveNetworkInfo();

    if (netinfo != null && netinfo.isConnectedOrConnecting()) {
        android.net.NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        android.net.NetworkInfo mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

        if((mobile != null && mobile.isConnectedOrConnecting()) || (wifi != null && wifi.isConnectedOrConnecting())) return true;
        else return false;
    } else
        return false;
}

public AlertDialog.Builder buildDialog(Context c) {

    AlertDialog.Builder builder = new AlertDialog.Builder(c);
    builder.setTitle("لا يوجد إتصال بالإنترنت");
    builder.setMessage("تحتاج لان تكون متصلا بالانترنت للحصول على بيانات التطبيق. اضغط على موافق للخروج");

    builder.setPositiveButton("موافق", new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {

            finish();
        }
    });

    return builder;
}
 
  • الخطوة 3:  تعديل ملف MainActivity.java
  • قم بتغيير السطر التالي:
setContentView(R.layout.activity_main);
  • بهذا :الكود:
if(!isConnected(MainActivity.this)) buildDialog(MainActivity.this).show();
else {
    Toast.makeText(MainActivity.this,"Welcome", Toast.LENGTH_SHORT).show();
    setContentView(R.layout.activity_main);
}