2015-12-30 2 views
1

Я написал приложение, которое использует system_alert_window для износа android. Поскольку зефир это разрешение отменяется по умолчанию. Я включил это разрешение в приложении со стороны телефона из настроек телефона. Но разрешение по-прежнему отрицается в приложении со стороны износа android и приводит к сбою приложения для боя от android с разрешенным исключением. Есть ли способ включить это разрешение на стороне износа Android?Запрос разрешений на ношение Android

ответ

0

Вы должны динамически запрашивать разрешения пользователя на носимых устройствах точно так же, как и на телефоне. Оформить заказ Официальный Аркадам Requesting Permissions on Android Wear

1

Короткий ответ: держать ваши часы приложение на targetSdkVersion 22.

Длинный ответ: это разрешение не использует обычные requestPermissions() потока. Там больше информации в docs, но она сводится к специальному пользовательскому интерфейсу настроек для того, чтобы пользователь мог разрешить это разрешение - и, похоже, Google не реализовал этот пользовательский интерфейс на Wear. Без него нет (несистемных) приложение может быть предоставлено такое разрешение, и любое приложение, которое пытается использовать его разобьет на ошибку, как следующее:

android.view.WindowManager$BadTokenException: Unable to add window [email protected] -- permission denied for this window type 

Но это ограничение относится только к приложениям таргетинга SDK уровень 23 (и выше). Так что покажите свое приложение на 22, и, надеюсь, Google заполнит этот пробел, прежде чем нужно, чтобы увеличить его.

ОБНОВЛЕНИЕ 22-дек-2016: Эта проблема исправлена ​​на Android Wear 2.0. Там до сих пор нет лучшего решения, чем выше Wear 1.x, но Google реализовал разрешение пользовательского интерфейса для Wear 2, и когда это выпустила часы приложения должны иметь возможность ссылаться на него со стандартным намерением:

startActivity(new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, 
     Uri.parse("package:" + getPackageName()))); 
+0

Когда это зефир, очищенный от износа андроида? – user2498079

+0

Google знает только - и обычно они не объявляют даты для таких вещей. IOW, нет * расписания * как такового прямо сейчас. – String

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