ブログのしゅーくりーむ

技術的なメモとかライフログとか。

ネットワーク接続を自動的にON/OFFするAndroidアプリ「AutoNetworkSwitcher」を公開しました。

最近趣味で作ったAndroidアプリを、Android Market にて公開しました。

ネットワーク接続を自動的にON/OFFするAndroidアプリ「AutoNetworkSwitcher」
https://market.android.com/details?id=jp.syucream.ans&feature=search_result

このアプリはネットワークの接続状況を監視し、端末のネットワーク機能を自動的にON/OFFします。
具体的には、以下の様な動作をします。

  • 端末が圏外のときは、自動的に「機内モード」に移行して消費電力を削減する
  • WiFi接続が不可能なときは、自動的にWiFi機能をOFFにする
  • 定期的にネットワークが利用できるか監視し、利用可能ならその機能をONにする。

注意事項:
本アプリは自動的に端末を「機内モード」に変更する可能性があります。
「機内モード」中は通話を受ける事が出来なくなりますので、ご使用の際は気を付けて下さい。
本アプリの設定項目、3G設定の「自動OFFを有効にする」のチェックを外す事で、「機内モード」への移行を抑制することは可能です。

このアプリは、主にAndroid のサービスとブロードキャストレシーバで構築されています。
サービスで定期的なネットワーク接続状況の判断を行います。
ブロードキャストレシーバではネットワーク接続が変更された際に即座にネットワーク接続の有効性を判別します。


以下、余談です。どうしてこんなアプリを開発するに至ったのかという話です。

僕はSoftbank から昨年提供されているX06HT(HTC Desire)を愛用しているのですが、3G回線の品質が良くない。大学構内で、しょっちゅう圏外になってしまうのです。
そして、携帯端末は一般的に圏外の状態でもネットワーク接続を維持しようと努力をし、結果消費電力が向上してしまう。
そこで僕は、「AutoNetworkSwitcher」を自作し、圏外である場合には機内モードに移行させ、消費電力の低下を図るようにしたのです。

また、大学構内にはWi-Fiアクセスポイントがあるのですが、このネットワークがユーザ認証を行わないと外に出られない仕様になっていまして。
スマートフォンがそれらのアクセスポイントを拾って、結果ネットワーク接続が途絶えてしまう事が多々あるのです。
そこで、「AutoNetworkSwitcher」にはWi-Fi 接続に関しても、「外のネットワークに出られるか」を判別し出られない場合は自動的に切断する事を可能にしています。
これにより、使用出来ないネットワーク、あるいは接続状況が悪いネットワークからの自動的な切断を行ってくれて、人間の操作のコストを若干減らす事が可能になります。


現在、試験的にAuto Network Switcher を公開しています。
バグ報告や改善案、レビューなど頂けると幸いです。