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

Cách lấy địa chỉ IP Wi-Fi trên Android

Giới thiệu

Lấy địa chỉ IP cục bộ của thiết bị trong mạng Wi-Fi qua WifiInfo.getIpAddress() và format bằng Formatter.formatIpAddress().

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 ipAddress = wifiInfo.getIpAddress(); // dạng int (little-endian)
            String formattedIp = Formatter.formatIpAddress(ipAddress);
            textView.setText("IP Wi-Fi: " + formattedIp);
        } else {
            textView.setText("Chưa kết nối Wi-Fi");
        }
    }
}

Quyền

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

Giải thích

  • getIpAddress() trả về int 32-bit (little-endian), ví dụ 192.168.1.5 → 0x0501A8C0.
  • Formatter.formatIpAddress(int) chuyển sang chuỗi "x.x.x.x" dễ đọc.
  • Đây là IP LAN (private), không phải IP công khai. Để lấy IP public, cần gọi API bên ngoài (https://api.ipify.org).