機内モードの切り替え

2011/03/28

通常の設定切り替えは、putInt() してやるだけで切り替わるが、 機内モード(3Gの有効/無効)に関しては、常駐のブロードキャストレシーバーにインテントを送信してやる必要がある。 [java] private void changeAirplaneModeService(boolean isAirplaneMode) { int airPlaneMode = isAirplaneMode ? 1:0; Settings.System.putInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON, airPlaneMode);

    Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);  
    intent.putExtra("state", airPlaneMode);  
    sendBroadcast(intent);
}

[/java]

Settings の書き換えのため permission も変更を忘れないように。