Il existe généralement deux services impliqués dans la mise en œuvre d'un authentifiant Android: le service d'authentification pour renvoyer un authentifiant et le service Sync qui fournit un adaptateur de synchronisation. Cette question concerne spécifiquement le service d'authentification, bien que dans la plupart des exemplesles deux services reçoivent l'attribut Android:exported="true"
dans le AndroidManifest.xml
, par exemple:
<service
Android:name=".authenticator.AuthenticationService"
Android:exported="true">
<intent-filter>
<action
Android:name="Android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
Android:name="Android.accounts.AccountAuthenticator"
Android:resource="@xml/authenticator" />
</service>
La suppression de l'attribut du service d'authentification ne semble pas avoir d'effet (Froyo testé, Gingerbread) - le code d'autorisation continue de fonctionner correctement - le drapeau est-il réellement nécessaire?
Bien que cela ne soit pas réellement nécessaire, cela semble créer une certaine confusion. C'est pourquoi Google recommande à
Définissez toujours explicitement l'attribut
Android:exported
, que vous exportiez ou non l'un des composants de votre application.
dans leurs recommandations de qualité de base de l'application .