「Android/kotlin/net」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「wifi判定 API22以下のとき <pre> val networkInfo: NetworkInfo = cm.getActiveNetworkInfo() (networkInfo != null && networkInfo.isConnected...」) |
細 (Admin がページ「Android/kotlin/wifi」を「Android/kotlin/net」に、リダイレクトを残さずに移動しました) |
||
| (同じ利用者による、間の6版が非表示) | |||
| 行1: | 行1: | ||
| − | wifi判定 | + | ==wifi判定== |
| − | + | ||
<pre> | <pre> | ||
| − | val networkInfo: NetworkInfo = cm. | + | val networkInfo: NetworkInfo? = cm.activeNetworkInfo |
(networkInfo != null && networkInfo.isConnected | (networkInfo != null && networkInfo.isConnected | ||
| − | + | networkInfo.type == ConnectivityManager.TYPE_WIFI)) | |
| − | + | ||
</pre> | </pre> | ||
参考:https://www.fixes.pub/program/71288.html | 参考:https://www.fixes.pub/program/71288.html | ||
| + | |||
| + | ==net判定== | ||
| + | <pre> | ||
| + | val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager | ||
| + | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { | ||
| + | val networkCapabilities = | ||
| + | connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork) | ||
| + | return networkCapabilities?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) | ||
| + | ?: false | ||
| + | } else { | ||
| + | val networkInfo: NetworkInfo? = connectivityManager.activeNetworkInfo | ||
| + | return (networkInfo != null && networkInfo.isConnected) | ||
| + | } | ||
| + | </pre> | ||
API23以上は | API23以上は | ||
ConnectivityManagerのactiveNetworkが使えると思うので、そちらを使う。 | ConnectivityManagerのactiveNetworkが使えると思うので、そちらを使う。 | ||
2021年2月9日 (火) 15:58時点における最新版
wifi判定
val networkInfo: NetworkInfo? = cm.activeNetworkInfo
(networkInfo != null && networkInfo.isConnected
networkInfo.type == ConnectivityManager.TYPE_WIFI))
参考:https://www.fixes.pub/program/71288.html
net判定
val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val networkCapabilities =
connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
return networkCapabilities?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
?: false
} else {
val networkInfo: NetworkInfo? = connectivityManager.activeNetworkInfo
return (networkInfo != null && networkInfo.isConnected)
}
API23以上は ConnectivityManagerのactiveNetworkが使えると思うので、そちらを使う。
