Как реализовать режим полета в приложении

Как вы знаете, в Android есть настройка режима полета. если вы выполните эту функцию, вы не сможете использовать данные, интернет, звонки, сообщения и так далее. Как я могу реализовать функцию режима полета в приложении?

  • Я хочу, чтобы у меня не было доступа к Интернету, данным, звонкам и сообщениям из моего приложения.

Как режим полета.


person DK.KNG    schedule 16.09.2015    source источник


Ответы (1)


Пожалуйста, добавьте разрешение в файл манифеста

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

и в коде из этого БЛОГА

Проверьте, включена ли она:

boolean isEnabled = Settings.System.getInt(
      context.getContentResolver(), 
      Settings.System.AIRPLANE_MODE_ON, 0) == 1;

Чтобы переключить его:

// 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);

Чтобы получать уведомления об изменении состояния:

IntentFilter intentFilter = new IntentFilter("android.intent.action.SERVICE_STATE");

BroadcastReceiver receiver = new BroadcastReceiver() {
      @Override
      public void onReceive(Context context, Intent intent) {
            Log.d("AirplaneMode", "Service state changed");
      }
}

context.registerReceiver(receiver, intentFilter);
person EminenT    schedule 16.09.2015
comment
Спасибо за помощь. - person DK.KNG; 17.09.2015
comment
Извините, я зарегистрировался вчера. поэтому я не знаю, как принять ваш ответ. пожалуйста, скажите мне, как. - person DK.KNG; 17.09.2015
comment
‹uses-permission android:name=android.permission.WRITE_SECURE_SETTINGS/› возникает ошибка — «Разрешение предоставляется только системным приложениям» - person DK.KNG; 17.09.2015