Hướng dẫn kiểm tra trạng thái kết nối internet trong android
Kiểm tra trạng thái kết nối internet trong ứng dụng android thì rất dễ dàng. Trong bài viết hướng dẫn kiểm tra trạng thái kết nối internet trong android, bạn sẽ học được cách làm thế nào để kiểm tra thiết bị android đã kết nối internet hay chưa.
Kiểm tra trạng thái kết nối internet trong android – Tạo project
1. Tạo một project trong Android Studio sử dụng File -> New -> New Project -> nhập tên ứng dụng, lựa chọn nơi chứa project –> Next
Chọn “Phone and Table“, chọn Minimum SDK là API 22 -> Next
Chọn “Empty Activity” -> Next -> Finish
2. Tạo một lớp tên WifiApp và kế thừa từ lớp Application. Lớp này sẽ được gọi khi ứng dụng chạy.
Chuột phải package -> New -> Java Class -> nhập WifiApp tại Name -> OK
Full code của WifiApp.java
import android.app.Application; /** * Created by http://giasutinhoc.vn */ public class WifiApp extends Application { static WifiApp wifiInstance; @Override public void onCreate() { super.onCreate(); wifiInstance = this; } public static synchronized WifiApp getInstance() { return wifiInstance; } }
3. Tạo một lớp khác tên ConnectionReceiver và kế thừa từ lớp BroadcastReceiver. Lớp này có nhiệm vụ thông báo trạng thái kết nối internet của thiết bị Android
Chuột phải package -> New -> Java Class -> nhập ConnectionReceiver tại Name -> OK
Full code của ConnectionReceiver .java
import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; /** * Created by http://giasutinhoc.vn */ public class ConnectionReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { } public static boolean isConnected() { ConnectivityManager cm = (ConnectivityManager) WifiApp.getInstance().getApplicationContext() .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo ni = cm.getActiveNetworkInfo(); return ni != null && ni.isConnectedOrConnecting(); } }
4. Mở app/manifests/AndroidManifest.xml
Bổ sung quyền truy cập internet và kiểm tra trạng thái mạng cho ứng dụng
Thêm WifiApp trong thẻ <application>
Thêm ConnectionReceiver trước </application>
5. Mở app/res/layout/activity_main.xml và thiết kế layout cho ứng dụng (Sử dụng một Button và một ImageView)
6. Mở app/java/advanced.android/MainActivity.java và bổ sung đoạn code màu đỏ
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // Viết xử lý cho button "Kiểm tra trạng thái kết nối internet" public void check(View view) { boolean ret = ConnectionReceiver.isConnected(); String msg; if (ret == true) { msg = "Thiết bị đã kết nối internet"; } else { msg = "Thiết bị chưa kết nối internet"; } Toast.makeText(this, msg, Toast.LENGTH_SHORT).show(); } }
7. Build và run, bạn sẽ nhìn thấy kết quả như hình
Trường hợp thiết bị chưa kết nối internet và người dùng chạm vào button “Kiểm tra trạng thái kết nối internet“
Trường hợp ngược lại