Изменение настроек System.Global. Является ли это возможным? - Android
Я немного смущен System.Global
, Согласно этому документу (третий пункт в разделе "Важные изменения в поведении") говорится, что некоторые функции, такие как включение / выключение режима самолета, были включены в System.Global
в Android 4.2
и выше, так что теперь его только для чтения, мы не можем его написать.
Наряду с режимом самолета есть также Bluetooth
включить / выключить функцию, включенную в System.Global
Это означает, что мы не должны иметь возможность включать / выключать Bluetooth программно, поскольку он доступен только для чтения.
Но у меня в Nexus 7 есть приложение, которое работает на версии 4.4.2, где приложение может легко включать / выключать Bluetooth по голосовой команде (одно из таких приложений - "Помощник")
Как это возможно, если функции в System.Global
только для чтения?
Любое объяснение на эту тему будет очень цениться. Заранее спасибо:)
2 ответа
Системные настройки обычно доступны только для чтения для обычных приложений. Приложения "Помощник" или "Настройки" поставляются в комплекте с платформой и имеют специальные разрешения. Bluetooth предоставляет возможность выключать и включать данный "адаптер" через BluetoothAdapter
учебный класс.
Начиная с Android 5.0, можно получить доступ к некоторым настройкам.
Вы можете использовать метод setGlobalSetting() в DevicePolicyManager
для этого.
Однако приложение вызывающей стороны должно быть владельцем устройства, которое недоступно для приложений, развернутых в Google Play.
Чтобы развернуть и активировать владельца устройства, необходимо выполнить передачу данных NFC из приложения для программирования на устройство, пока устройство находится в его незапланированном состоянии. Эта передача данных отправляет ту же информацию, что и в намерении обеспечения, описанном в Управляемом обеспечении.
Источник: API Android 5.0