activeNetworkInfo, isConnected, isAvailable に相当する機能を実装したいのですが、API 29でこれらは非推奨となっています。そのため、API 29では代わりに何を用いればよいでしょうか?
私のコードは次のとおりです。
kotlin
1fun Context.isNetworkOnline(): Boolean { 2 try { 3 val connectivityManager = 4 this.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager 5 val i = 6 connectivityManager.activeNetworkInfo ?: return false 7 if (!i.isConnected) return false 8 if (!i.isAvailable) return false 9 return true 10 } catch (e: Exception) { 11 e.printStackTrace() 12 return false 13 } 14}
また、私の Gradle は以下のとおりです。
kotlin
1compileSdkVersion 29 2 buildToolsVersion "29.0.3" 3defaultConfig { 4 minSdkVersion 26 5 targetSdkVersion 29 6 }
https://stackoverflow.com/questions/53532406/activenetworkinfo-type-is-deprecated-in-api-level-28
https://stackoverflow.com/questions/51141970/check-internet-connectivity-android-in-kotlin
###追記
具体例の載っているサイトがあまり存在しておらず、非推奨のものを使っているからと言ってとくに影響はないのですが、このエラーをなんとかしたいと思っています。かなりの時間を割いても答えが見つからなかったため、質問いたしました。
あなたの回答
tips
プレビュー