2016-02-24 3 views
0

Я имею дело с разрешением во время выполнения запроса для моего приложения, так что я могу перейти на API 23. Из проб и ошибок, это не кажется, что GET_ACCOUNT и MANAGE_ACCOUNT больше не требуются для SyncAdapter с заглушкой ContentProvider и Authenticator?Неужели SyncAdapter (с заглушкой ContentProvider и Authenticator) больше не нуждается в разрешениях учетной записи?

Я даже удалил разрешения из манифеста и ничего не сломался. Это новое изменение? Я помню, ~ год назад я попытался найти способ не включать эти разрешения (поскольку я использовал только аутентификатор заглушки), и это было невозможно.

Есть ли какие-либо объяснения для этого? Просто хочу убедиться, что эти разрешения действительно больше не нужны, и что я не нарушаю некоторые основные вещи, удаляя их.

ответ

1

Да. Некоторые вещи изменились, но вы, вероятно, должны сохранить их в своем манифесте (особенно если вы также нацеливаете устройства с помощью android < 23).

Вы не указали, какие методы вы используете, требующие этого разрешения, но вы можете, например. увидеть его AccountManager.getAccountsByType(String), где он говорит:

ПРИМЕЧАНИЕ: Если таргетинг вашего приложения для работы на уровне 22 и до API, разрешение GET_ACCOUNTS требуется для этих платформ, независимо от UID или подписи матча. См. Документы для этой функции на уровне API.

Так что да, некоторые методы изменились, но чтобы оставаться на стороне безопасности (и быть совместимыми со старыми версиями Android), вы все равно должны включать эти разрешения.