こんにちは!
今日はネットワーク状態を確認する方法を書いてみたいと思います。
理由は?
ネットワーク確認はアンドロイドスマホを開発すると必要な部分だと思ってます。
なぜなら、一つ目、HTTP通信をしてサーバーとCommunicationする時、
シムフリーでシムなしで、開発するとWi-Fiでネットワーク利用します。
外に出ると、Wi-Fiない状態になるかもしれません。
二つ目、大量のデータをサーバーからダウンロード必要な時にWi-Fiかモバイルか確認して、
使用人にWi-Fi利用を勧誘する、必要があるかもしれません。
その他の理由もあるかもしれません。
方法
Permission取得。
manifest.xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
System Service 取得。
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkinfo = cm.getActiveNetworkInfo();
if(networkinfo != null){
if(networkinfo.getType() == ConnectivityManager.TYPE_WIFI){
//YOUR CODE
}else if(networkinfo.getType() == ConnectivityManager.TYPE_MOBILE){
//YOUR CODE
}
}else{
// ネットワークなし。
}
終わりに
後、IntentFilter を使う方法もあります。
時間あれば、書いてみます。