Kiểm tra trạng thái mạng Android (network state checking)


Trong lập trình giao tiếp mạng trên Android thì việc kiểm tra sự sẵn sàng của khả năng kết nối mạng (Wifi, 3g), GPS là cần thiết.

Screenshot_2014-05-12-10-31-47 Screenshot_2014-05-12-10-31-56 Screenshot_2014-05-12-10-32-05 Screenshot_2014-05-12-10-32-12

Việc kiểm tra này cũng rất nhẹ nhàng bởi Android cung cấp cho chúng ta nhiều thư viện để kiểm tra các loại kết nối và cấu hình kết nối.

Tuy nhiên, ứng dụng cần phải có quyền kiểm tra trạng thái kết nối và sử dụng kết nối.

1 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 2 <uses-permission android:name="android.permission.INTERNET" /> 3 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Đối tượng ConnectivityManager và NetworkInfo là đối tượng chính giúp chúng ta kiểm tra trạng thái mạng

1 ConnectivityManager conManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE); 2 NetworkInfo _wifi = conManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 3 NetworkInfo _3g = conManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

Sau đó chúng ta có thể gọi hộp thoại bật wifi hay 3g để mở mạng nếu chưa có

1 if(!_wifi.isAvailable()&&!_3g.isAvailable()) 2 { 3 showNetworkSettingsAlert(); 4 }

Nội dung hàm hiển thị hộp thoại như sau

1 public void showNetworkSettingsAlert() { 2 AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this); 3 alertDialog.setTitle("C?u hình m?ng"); 4 alertDialog.setMessage("Chua b?t k?t n?i m?ng.\nDi chuy?n d?n giao di?n c?u hình?"); 5 alertDialog.setPositiveButton("C?u hình", 6 new DialogInterface.OnClickListener() { 7 public void onClick(DialogInterface dialog, int which) { 8 Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS); 9 MainActivity.this.startActivity(intent); 10 } 11 }); 12 alertDialog.setNegativeButton("B? qua", 13 new DialogInterface.OnClickListener() { 14 public void onClick(DialogInterface dialog, int which) { 15 dialog.cancel(); 16 } 17 }); 18 alertDialog.show(); 19 }

Thử xem sao nhe ! good luck

Advertisements

Phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s