안드로이드 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
}
'프로그래밍 > Android, iOS' 카테고리의 다른 글
[Android] 취약점 분석 정리 (0) | 2022.03.29 |
---|---|
[Android Error] 사설 배포시 apk 파일 파싱 오류 (0) | 2022.03.29 |
[Android] Floating button으로 추가 버튼 만들기 (0) | 2022.03.29 |
[Android] Signing 처리 (0) | 2021.12.04 |
[Android] 외부저장소 권한 없이 이미지 파일 exIfInterface 가져오기 (0) | 2021.12.04 |
댓글