Ответ 1
Хорошо, чтобы ответить на это сам, прочитав документы, документация для атрибута exported
говорит:
Значение по умолчанию зависит от того, содержит ли служба намерение фильтры. Отсутствие каких-либо фильтров означает, что оно может быть вызвано только указав точное имя класса. Это означает, что услуга предназначенные только для внутреннего использования приложения (поскольку другие не знать имя класса). Поэтому в этом случае значением по умолчанию является "false". С другой стороны, наличие по меньшей мере одного фильтра означает, что служба предназначена для внешнего использования, поэтому значение по умолчанию "Истинный".
У всех служб аутентификации есть фильтр намерений - документы для AbstractAccountAuthenticator говорят:
Чтобы стать аутентификатором, нужно... написать услугу, которая возвращает результат getIBinder() в службе onBind (android.content.Intent) при вызове с намерением с действием ACTION_AUTHENTICATOR_INTENT.
Для этого требуется фильтр намерений, поэтому значение по умолчанию для экспорта для службы true
. Поэтому ответ на этот вопрос: "Нет, атрибут не необходим, потому что он по умолчанию по умолчанию".