カントリーモーニング(仮)

しがないサラリーマンが不定期に更新する雑記帳。
<< 【Android】AutoUTubeforAndroid。 | main | 【Android】EndlessVoiceTweeter。 >>
スポンサーサイト

一定期間更新がないため広告を表示しています

| - | | - | - | pookmark |
【Android】DataDisabler。

DataDisabler


Androidアプリ作成 第3弾、
データ通信設定を切り替えるウィジェットアプリを作成してみました。
「データ通信設定」は、
[ 設定 ]→[ 無線とネットワーク ]→[ モバイルネットワーク ]→[ データ通信を有効にする ]
と 操作手順を踏む必要があり、その手順を短縮する のが目的のアプリです。

ウィジェットとして配置したボタンを押下される度に、「データ通信を有効にする」設定の ON/OFF を切り替えます。

簡単に纏めます。

【実装】
・データ通信を有効にする(ON/OFF)
// 操作用 TelephonyManager の取得
telmanager = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
// 隠しメソッド操作用
Method tmpmethod1, tmpmethod2;
// インタフェース設定
tmpmethod1 = telmanager.getClass().getDeclaredMethod("getITelephony");
tmpmethod1.setAccessible(true);
// 「データ通信を有効にする」の設定を現在の状態から他方へ切替
tmpmethod2 = tmpmethod1.invoke(telmanager).getClass().getMethod("disableDataConnectivity");
tmpmethod2 = tmpmethod1.invoke(telmanager).getClass().getMethod("enableDataConnectivity");
// 実行
tmpmethod2.setAccessible(true);
tmpmethod2.invoke(tmpmethod1.invoke(telmanager));
------------------------------
manifestファイルへ、以下のpermissionが必要
uses-permission android:name="android.permission.MODIFY_PHONE_STATE"
------------------------------
また、どうやら Android 2.3以降では動作しないらしい。
・ウィジェットの作成
DataDisablerWidget extends AppWidgetProvider クラスを作成し、
onUpdate() を オーバライド、その中で、
DataDisablerService.class の Intent 起動。

【未実装】
・現在の「データ通信を有効にする」状態の取得
// 操作用 ConnectivityManager の取得
conmanager = (ConnectivityManager)context.getSystemService("connectivity");
// データ通信の状態を取得
NetworkInfo nwinfo = conmanager.getNetworkInfo(0);
nwinfo.getState() == NetworkInfo.State.CONNECTED
で、取得できるようなのだが、
手持ちの Dell StreakDL001(Android2.2)ではうまく動作しないため、今回は実装を見送り。
# 取得できる State(DetailStateも) が一律 DISCONNECTED。。



ユウ・ティ・イー
¥ 1,060
(2011-02-12)
コメント:そういうAもあるんですね。

| Android | 00:33 | comments(2) | trackbacks(0) | pookmark |
スポンサーサイト
| - | 00:33 | - | - | pookmark |
デザイングッズストア。
CALENDAR
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< October 2017 >>
SPONSORED LINKS
AMAZON RECOMMEND
ハァハァCD
ハァハァCD (JUGEMレビュー »)
オムニバス,白雪みるく,河原木志穂,くーたん,森永まみ,たぬまゆみ
SELECTED ENTRIES
CATEGORIES
ARCHIVES
RECENT COMMENT
デザイングッズストア。
心頭MakeUp Tシャツ。
2009_09_18_11_39_28
コメント
はじめまして。DataDisabler大変便利に使わせていただいています。

状態の取得ができないとのことですが、今現在どちらに切り替えたかの表示だけでもできないでしょうか?
押したときのみ切り替えの常時が出るのはいまいちわかりにくいので・・・
| demeshin | 2011/05/29 1:14 AM |
コメントありがとうございます。

ご指摘いただいた、状態の表示について、
作成当初検討致しました。

ですが、状態の取得が出来ないことに起因し、

通常の
[ 設定 ]→[ 無線とネットワーク ]→[ モバイルネットワーク ]→[ データ通信を有効にする ]
と 操作手順を踏んでしまうと、表示との状態齟齬が発生してしまいます。

そのため、残念ですが、今回はその実装を見送っております。

今回使用している方法は、Android2.2までしか使用不可ということもあり、
Android2.3以降でも有用な方法で表示の件含めて、他によい案がないかは継続調べてみたいと思っています。
# 現状見つかってはいないのですが…。

以上、宜しくお願い致します。

| のりアフ | 2011/05/30 10:00 PM |
コメントする









この記事のトラックバックURL
http://norinoriafter.jugem.jp/trackback/27
トラックバック
ブロカン
サンプル・モニターの口コミ広告ならブロカン
おしゃれショップ「かさぶた人生」
MOBILE
qrcode
LINKS
PROFILE