Разрешение Android Things com.google.android.things.permission.MANAGE_INPUT_DRIVERS не найдено

Я использую RPi3 с Android Things 0.5.1. Хотя у меня в AndroidManifest.xml есть разрешение:

<uses-permission android:name="com.google.android.things.permission.MANAGE_INPUT_DRIVERS" />

Я получаю исключение:

java.lang.SecurityException: Caller lacks required permission com.google.android.things.permission.MANAGE_INPUT_DRIVERS

Кто-нибудь получил это разрешение на 0.5.1?


person Alexander Tumanin    schedule 26.09.2017    source источник


Ответы (1)


Это разрешение в настоящее время помечено как опасное разрешение, которое обычно требует предоставления во время выполнения пользователем на стандартном Android. В Android Things эти разрешения предоставляются автоматически, но только при загрузке устройства. Вам нужно сделать одно из следующих действий, чтобы дать это разрешение вашему приложению:

  1. Перезагрузите устройство после первой установки. Это даст разрешение на перезапуск.
  2. Установите APK вручную, используя adb install -g <APK> в первый раз. Этот флаг предоставляет все запрошенные разрешения при установке, поэтому вы можете избежать перезагрузки.
  3. Обновитесь до Android Studio 3.0, которая автоматически предоставит вам эти разрешения при установке, поэтому вам не нужно делать ни № 1, ни № 2.
person devunwired    schedule 27.09.2017
comment
использование Android Studio 3.0 не позволяет избежать перезагрузки. По крайней мере, не в моем случае. - person Michael Vescovo; 13.01.2018
comment
@MichaelVescovo Существует ошибка (исправленная в Studio 3.1), из-за которой это не работает, если включен мгновенный запуск (который включен по умолчанию). Скорее всего, это то, с чем вы столкнулись. - person devunwired; 17.01.2018