- ConnectivityManagerを使用する方法: Androidでは、ConnectivityManagerクラスを使用してインターネット接続の状態を確認できます。以下のコードを使用すると、インターネット接続が利用可能かどうかを確認できます。
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
fun isInternetAvailable(context: Context): Boolean {
val connectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val networkCapabilities =
connectivityManager.activeNetwork ?: return false
val activeNetwork =
connectivityManager.getNetworkCapabilities(networkCapabilities) ?: return false
return activeNetwork.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
}
上記のコードでは、isInternetAvailable
関数を使用して、引数としてContext
オブジェクトを受け取り、インターネット接続の可否を返します。返り値がtrue
の場合、インターネット接続が利用可能です。
- BroadcastReceiverを使用する方法: Androidでは、BroadcastReceiverを使用してネットワークの状態変化を監視することもできます。以下のコードを使用すると、ネットワークの接続状態が変化した場合に通知を受け取ることができます。
まず、AndroidManifest.xmlファイルに以下のパーミッションとレシーバを追加します。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<receiver
android:name=".NetworkChangeReceiver"
android:label="NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
次に、以下のようにBroadcastReceiverを実装します。
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.net.ConnectivityManager
import android.widget.Toast
class NetworkChangeReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val connectivityManager =
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val networkInfo = connectivityManager.activeNetworkInfo
if (networkInfo != null && networkInfo.isConnected) {
Toast.makeText(context, "インターネット接続があります", Toast.LENGTH_SHORT).show()
} else {
Toast.makeText(context, "インターネット接続がありません", Toast.LENGTH_SHORT).show()
}
}
}
上記のコードでは、NetworkChangeReceiver
クラスを作成し、onReceive
メソッド内でネットワークの状態変化に応じて適切な処理を行います。この場合、ネットワーク接続の有無に応じてトーストメッセージを表示します。
以上が、Androidアプリでインターネット接続を確認する方法の例です。これらの方法を使用して、Androidアプリにインターネット接続の確認機能を追加することができます。