ネットワーク接続の有無を確かめる方法

RecognizerIntentを使おうとしたが、インターネットにつながっていないと接続エラーが出てしまうので、アプリで事前に接続有無を判断してユーザの喚起を促す。

ConnectivityManagerとNetworkInfoを使えばいい。
NetworkInfo.isConnected()でtrueなら接続された状態。

ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();

ただし、AndroidManifest.xmlACCESS_NETWORK_STATEのパーミッションを許可しないとエラーが出ます。

ここにバッチリ書いてありました。
http://d.hatena.ne.jp/isher/20090709/1247111136