スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:スポンサー広告 

【Android】ConnectivityManagerを使ってネットワークの状況を確認する

突然ですが、PC向けのWebサービスを作ってきた僕にとって通信状況を気にしなければいけないというのはかなり新鮮でした。

Androidのアプリケーション(特に通信を必要とするアプリケーション)を開発する上で知っておきたい、ネットワークの状況を知る方法をメモしておきます。


public boolean isNetworkEnable(Context context){
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();

// モバイル回線(3G)の接続状態を取得
State mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
// wifiの接続状態を取得
State wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

// 3Gデータ通信/wifi共に接続状態じゃない場合
if ( (mobile != State.CONNECTED) && (wifi != State.CONNECTED) ) {
// ネットワーク未接続
return false;
}else{
return true;
}
}


こんなメソッドを実装してしまえば通信できる状況かどうかを簡単にアプリケーションから取得できるようになると思います。当初Wifiでの通信状況をきちんと加味しないでいたので若干ハマったので気をつけてみてください。
スポンサーサイト
テーマ : プログラミング
ジャンル : コンピュータ

Tag:Android  Trackback:0 comment:0 

Comment

comment form
(編集・削除用):
管理者にだけ表示を許可
プロフィール

6rats

Author:6rats
こんにちは、ITベンチャーで働くエンジニアです
主に自分の周りで起きた技術的なことをメモとして書き残して行きます。
Android以外にもRuby/Ruby on RailsやFuelPHPなどなどたまにやります。基本的なスタンスとしては興味があるもしくは必要になったらいろんなことにチャレンジします。
最近はiOSアプリ開発を始めています。

購読
follow us in feedly
個人プロダクト

Androidアプリ

Twitterクライアント

Webアプリケーション

EcPriceWatch(Amazon価格の推移を計測、最安値を知らせるサービス)
Google AdSense
ブログ村
にほんブログ村 IT技術ブログへ
にほんブログ村
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。