Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách bật/tắt Wi-Fi trên Android

Giới thiệu

Sử dụng WifiManager.setWifiEnabled(boolean) để bật/tắt Wi-Fi. Cần quyền CHANGE_WIFI_STATE.

Code (MainActivity.java)

public class MainActivity extends AppCompatActivity {

    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.text);
        textView.setText("Nhấn để BẬT Wi-Fi");

        textView.setOnClickListener(v -> {
            WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
            if (wifiManager != null) {
                boolean success = wifiManager.setWifiEnabled(true);
                textView.setText(success ? "Đang bật Wi-Fi..." : "Không thể bật Wi-Fi");
            }
        });
    }
}

Quyền (AndroidManifest.xml)

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

⚠️ Hạn chế quan trọng từ Android 10 (API 29)

  • App không phải system không thể bật/tắt Wi-Fi trực tiếp qua setWifiEnabled(). Phương thức luôn trả về false.
  • Giải pháp: Dùng WifiManager.startScan() để quét, hoặc hướng dẫn user vào Settings:
Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
startActivity(intent);

Lưu ý

  • Trên Android 9 trở xuống, cần quyền CHANGE_WIFI_STATE (normal permission).
  • Không nên bật/tắt Wi-Fi ngầm mà không có sự đồng ý của user.