Я планирую отказаться от вызова, и я считаю это одним из способов обхода. Как активировать режим самолета с помощью кода?Как установить AIRPLANE_MODE_ON в "True" или ON?
Таким образом, я отброшу вызов на основе какого-либо события.
Я планирую отказаться от вызова, и я считаю это одним из способов обхода. Как активировать режим самолета с помощью кода?Как установить AIRPLANE_MODE_ON в "True" или ON?
Таким образом, я отброшу вызов на основе какого-либо события.
См блога статью 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
является ли включен режим полета или нет.
Я не смог его развернуть. Включается ли этот код в класс Broadcastreceiver –
Он идет туда, где вам нужно, чтобы выполнить действие. Не забывайте, что вам нужно разрешение WRITE_SETTINGS для этого. – Jess
Я все еще получаю ошибки, такие как Settings.System не может быть \t resolved –
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;
}
}
Пожалуйста, имейте в виду, что это невозможно, начиная с Android 4.2 и выше.
http://developer.android.com/reference/android/provider/Settings.Global.html#AIRPLANE_MODE_ON
Пожалуйста, обратите внимание, что переключая режим полета вкл/выкл больше не возможно, как в Android 4.2 (Jelly Bean основной выпуск 1). Это связано с тем, что Google принял решение BANDAGE для устранения недостатков в Android вместо повторной проверки его модели безопасности. – ChuongPham