2017-02-16 2 views
4

Я пытаюсь написать значение на AT. Я уже объявил необходимое разрешение, как следовать в манифесте,Как запросить разрешение на Android Things?

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

И попытаться запросить разрешение на время выполнения, AT показывает окна относительно установки разрешения. Однако переключатель не доступен для клика. Что касается AT document

Истребование Права доступа во время выполнения не поддерживается, поскольку встроенные устройства не гарантированно иметь интерфейс, чтобы принять диалог во время выполнения. Объявите разрешения, необходимые в файле манифеста приложения. Все нормальные и опасные разрешения, объявленные в манифесте вашего приложения, равны , предоставленным во время установки.

Однако Settings.System.canWrite() всегда возвращает false.

Есть ли какие-либо специальные методы для разрешения разрешения WRITE_SETTINGS?

+1

На обычных устройствах Android [для этого разрешения требуется двойная опция] (http://stackoverflow.com/a/32083622/115145), включая пользователя, предоставляющего разрешение в настройках. Я не знаю, что такое долгосрочный план для таких прав, как Android Things, учитывая, что у пользователя нет возможности работать с приложением настроек (например, без экрана). – CommonsWare

+0

Просьба сообщить об ошибке, связанной с вашей проблемой, получить разрешение, необходимое для доступа к API настроек: https://code.google.com/p/android/issues/entry?template=Android%20Things%20bug%20report – Devunwired

+0

@Devunwired I не имеют учетной записи разработчика. Таким образом, я не могу получить доступ к вызовам службы Android. – ierturk

ответ

1

После установки приложения с заявлением о AndroidManifest.xml, как следовать

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

Он должен быть также запустить Settings, как следовать через adb

adb shell am start -S com.android.settings/.Settings 

Затем нажмите APPS>YOUR_APP, затем нажмите permission.

Теперь переключатель можно щелкнуть. Таким образом, AT не предоставляется на разрешение. Он должен быть предоставлен вручную.

7

Как вы сказали, что документы говорят:

DECLARE разрешения, которые вам нужно в файле манифеста вашего приложения. Все нормальные и опасные разрешения, объявленные в манифесте вашего приложения, предоставляются во время установки.

Поэтому вы не видите нормальный пользовательский интерфейс для Android.

Из примечания к выпуску:

Опасных разрешения, запрашиваемых приложения не не предоставляется до следующей перезагрузки устройства. Сюда входят новые приложения и новые элементы в существующих приложениях.

Так что попробуйте выключения питания и на вашем Android Things устройства

+0

В соответствии с загрузочными сообщениями 'W/PackageManager: неизвестное разрешение com.android.launcher.permission.WRITE_SETTINGS в пакете com.android.onetimeinitializer'. Говорит ли сообщение, нет способа записать в настройку на AT? – ierturk

+0

Я пытался включить и выключить питание. Тем не менее, нет доступа к настройкам. @Blundell – ierturk

+0

Я не думаю, что текущая версия Android-устройств имеет системные настройки. – shalafi

Смежные вопросы