現在の Wi-Fi 状態をリッスンするためにブロードキャスト レシーバーを使用しました。そのため、現在の状態をトグル ボタン (setText) のテキスト (connected、connecting、disabled など) に設定します。
それはうまくいきます!
しかし今、私はモバイルデータの状態で同じことをしたいと思っています..
そこで、TelephonyManager を使用して受信機をセットアップしました。
this.registerReceiver(this.DataStateChangedReceiver,
new IntentFilter(TelephonyManager.ACTION_PHONE_STATE_CHANGED));
次に、wifi レシーバーからコードをコピーして編集しました。
private BroadcastReceiver DataStateChangedReceiver
= new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
// TODO Auto-generated method stub
int extraDataState = intent.getIntExtra(TelephonyManager.EXTRA_STATE ,
TelephonyManager.DATA_DISCONNECTED);
switch(extraDataState){
case TelephonyManager.DATA_CONNECTED:
data_toggle.setChecked(true);
break;
case TelephonyManager.DATA_DISCONNECTED:
data_toggle.setChecked(false);
break;
case TelephonyManager.DATA_CONNECTING:
data_toggle.setChecked(true);
break;
case TelephonyManager.DATA_SUSPENDED:
data_toggle.setChecked(true);
break;
}
}
};
アプリは起動しますが、toogleButton で何も起こりませんでした。TelephonyManager はこれを行う方法が間違っていますか? コネクティビティマネージャー?
モバイルデータをオン/オフする onclicklistener を設定したい。
これをどのように行うかは次の質問です..