คุณสามารถลงทะเบียน a BroadcastReceiver
เพื่อรับการแจ้งเตือนเมื่อมีการสร้างการเชื่อมต่อ WiFi (หรือหากการเชื่อมต่อเปลี่ยนไป)
ลงทะเบียนBroadcastReceiver
:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION);
registerReceiver(broadcastReceiver, intentFilter);
และจากนั้นคุณBroadcastReceiver
ทำสิ่งนี้:
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) {
if (intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED, false)) {
//do stuff
} else {
// wifi connection was lost
}
}
}
สำหรับข้อมูลเพิ่มเติมโปรดดูเอกสารประกอบสำหรับBroadcastReceiver
และWifiManager
แน่นอนคุณควรตรวจสอบว่าอุปกรณ์เชื่อมต่อกับ WiFi มาก่อนหน้านี้หรือไม่
แก้ไข: ขอบคุณแบนเนอจีเนริงต่อไปนี้เป็นวิธีการตรวจสอบว่าอุปกรณ์เชื่อมต่ออยู่แล้ว:
private boolean isConnectedViaWifi() {
ConnectivityManager connectivityManager = (ConnectivityManager) appObj.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return mWifi.isConnected();
}