2010-07-14 2 views
4

Я планирую отказаться от вызова, и я считаю это одним из способов обхода. Как активировать режим самолета с помощью кода?Как установить AIRPLANE_MODE_ON в "True" или ON?

Таким образом, я отброшу вызов на основе какого-либо события.

+2

Пожалуйста, обратите внимание, что переключая режим полета вкл/выкл больше не возможно, как в Android 4.2 (Jelly Bean основной выпуск 1). Это связано с тем, что Google принял решение BANDAGE для устранения недостатков в Android вместо повторной проверки его модели безопасности. – ChuongPham

ответ

15

См блога статью Android: Controlling Airplane Mode,

Работает только ДО API 16

// Toggle airplane mode. 
Settings.System.putInt(
     context.getContentResolver(), 
     Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0 : 1); 

// Post an intent to reload. 
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); 
intent.putExtra("state", !isEnabled); 
sendBroadcast(intent); 

где isEnabled является ли включен режим полета или нет.

+0

Я не смог его развернуть. Включается ли этот код в класс Broadcastreceiver –

+1

Он идет туда, где вам нужно, чтобы выполнить действие. Не забывайте, что вам нужно разрешение WRITE_SETTINGS для этого. – Jess

+0

Я все еще получаю ошибки, такие как Settings.System не может быть \t resolved –

0
public static boolean getAirplaneMode(Context context) { 
     try { 
     int airplaneModeSetting = Settings.System.getInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON); 
     return airplaneModeSetting==1?true:false; 
    } catch (SettingNotFoundException e) { 
     return false; 
    } 
    } 
Смежные вопросы