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

Cách lấy Network ID Wi-Fi hiện tại trên Android

Giới thiệu

Network ID là định danh nội bộ của cấu hình Wi-Fi đã lưu (mỗi SSID có một network ID). Lấy qua WifiInfo.getNetworkId().

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);

        WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE);
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();

        if (wifiInfo != null) {
            int networkId = wifiInfo.getNetworkId(); // -1 nếu không kết nối
            textView.setText("Network ID: " + (networkId != -1 ? networkId : "Không kết nối"));
        } else {
            textView.setText("Wi-Fi không khả dụng");
        }
    }
}

Quyền

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

Giải thích

  • Network ID được gán khi thêm mạng qua WifiManager.addNetwork() hoặc khi user kết nối lần đầu.
  • Dùng để removeNetwork(int netId), enableNetwork(int netId, true), updateNetwork(WifiConfiguration).
  • Giá trị -1 nghĩa là không có mạng nào đang kết nối.
  • Từ Android 10 (API 29), WifiConfiguration deprecated, thay bằng WifiNetworkSpecifier và WifiNetworkSuggestion.