ネットワーク接続の有無を確かめる方法
RecognizerIntentを使おうとしたが、インターネットにつながっていないと接続エラーが出てしまうので、アプリで事前に接続有無を判断してユーザの喚起を促す。
ConnectivityManagerとNetworkInfoを使えばいい。
NetworkInfo.isConnected()でtrueなら接続された状態。
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo ni = cm.getActiveNetworkInfo();
ただし、AndroidManifest.xmlにACCESS_NETWORK_STATEのパーミッションを許可しないとエラーが出ます。
ここにバッチリ書いてありました。
http://d.hatena.ne.jp/isher/20090709/1247111136