2013年1月31日木曜日

Android データ通信ON/OFF切替

いままでAndroid端末はWiFiでだけ使っていた(電話とメールはガラゲー)が、
先月から1台に集約した。
すると、LTE(または3G)からWiFiに切り替えるとき、
データ通信をOFFしようとすると階層が深くてなかなか面倒くさいのだ。
テザリングも使うし、、、でアプリを作ることにした。

しかし、データ通信ON/OFFのAPIは非公開だった。

http://d.hatena.ne.jp/kuwalab/20110801/1312204484

を参考に作成。
なお、今の接続状態は、
ConnectivityManagerクラスのgetActiveNetworkInfo()メソッドを呼び出し、
NetworkInfoオブジェクトを取得してから、getTypeName ()を呼び出せば、
「WIFI」か「MOBILE」が返ってくる。

こんな感じ↓

      String status = "OFF";
   ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
     NetworkInfo netInfo = cm.getActiveNetworkInfo();
     if(netInfo != null){
          status = netInfo.getTypeName ();
     }


この場合も、AndroidManifest.xmlにパーミッションの設定が必要。
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

0 件のコメント:

コメントを投稿