まずはAndroidManifest.xmlというファイルに
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
という一行を追加してください
ソースコードは下の書いた通りです
package com.example.getipaddress
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.net.wifi.WifiManager
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val manager:WifiManager = this.applicationContext.getSystemService(WIFI_SERVICE) as WifiManager
val ipAddress = manager.connectionInfo.ipAddress
text.text=ipToString(ipAddress)
}
fun ipToString(ipAddress:Int):String{
return (ipAddress and 0xFF).toString()+"."+(ipAddress shr 8 and 0xFF)+"."+(ipAddress shr 16 and 0xFF)+"."+(ipAddress shr 24 and 0xFF)
}
}
WifiManagerのconnectionInfo.ipAddressを通して、IPアドレスを取得し、それを文字列に変換して、我々の読めるIPアドレスにします
