Подтвердить что ты не робот

Разрешения не работают

У меня возникли некоторые странные проблемы с разрешением на Android. Я пытаюсь просто получить список календарей Google, которые есть у определенного пользователя, но сначала мне нужно позволить им выбрать учетную запись.

Я включил эту строку в свой манифест:

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

Однако я получаю эту ошибку:

12-26 03:26:31.004 13841 13841 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{....}: java.lang.SecurityException: caller uid 10105 lacks any of android.permission.GET_ACCOUNTS

Я попытался что-то подобное, получив доступ к недокументированному API календаря с READ_CALENDAR и WRITE_CALENDAR, но у меня были подобные исключения (хотя, вероятно, по разным причинам - я думал, что стоит упомянуть, если это не так).

Пожалуйста, подскажите мне, что я делаю неправильно!

Спасибо!

4b9b3361

Ответ 1

Либо ваш <uses-permission> находится в неположенном месте (должен быть дочерний элемент <manifest> и одноранговый узел <application>), либо GET_ACCOUNTS не является разрешением, которое могут хранить приложения SDK. Документация однозначно говорит о том, какие разрешения разрешены для SDK-приложений.

Ответ 2

Если бы та же проблема, изменилась целевая версия SDK в AndroidManifest.xml на более высокую версию (19). В моем случае целевая версия SDK в манифесте составляла 17, что эквивалентно Android 4.2.2, что, в свою очередь, соответствовало версии на моем HTC One. Однако после его изменения плагин Phonegap для контактов работал.