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.
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);
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
No comments:
Post a Comment