본문 바로가기
프로그래밍/Android, iOS

[Android] WIFI 제어하기

by YuminK 2021. 12. 6.

안드로이드 10 미만에서는 Wifi를 코드에서 처리하는 것이 가능하지만,

10 이상부터는 Wifi를 직접적으로 제어하는 것이 금지되었다.

manifest

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

 

activity

val wifiMgr = applicationContext.getSystemService(WIFI_SERVICE) as WifiManager
wifiMgr.isWifiEnabled = true // or false

안드로이드 10 이상에서는 액티비티를 실행시켜서 그곳에서 사용자가 직접 wifi를 제어하도록 처리해야 한다.

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
{
    val panelIntent = Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY)
    startActivity(panelIntent)
}
else
{
    val wifiMgr = applicationContext.getSystemService(WIFI_SERVICE) as WifiManager
    wifiMgr.isWifiEnabled = true // or false
}

 

댓글