Erreur « La méthode createUser(String, int) n'est pas définie pour le type UserManager »
-
21-12-2019 - |
Question
J'essaie de créer un nouvel utilisateur en utilisant UserManager
service sur Android KK 4.4 (Multi-utilisateur)
mUserManager = (UserManager)getSystemService(Context.USER_SERVICE);
mUserManager.createUser("USER NAME", 0);
Je peux accéder à toutes les autres API dans UserManager
en utilisant mUserManager
sans donner d'erreur mais createUser
affiche l'erreur "La méthode createUser(String, int)
n'est pas défini pour le type UserManager
".
je vois createUser
est défini dans UserManager
classe.
Quelqu'un peut-il m'aider à ce sujet au cas où quelque chose me manquerait.
La solution
Si vous faites référence au documentation pour UserManager
, tu verras que non createUser
la méthode est répertoriée.Même si la méthode est définie dans le code source d'Android et existe dans le framework installé sur l'appareil, elle ne fait pas partie de l'API publique, elle n'est donc pas présente dans le SDK Android ;c'est-à-dire que ce n'est pas dans le fichier android.jar auquel vous associez votre application.
Il est peut-être toujours possible d'y accéder en utilisant la réflexion, mais je soupçonne plutôt que le service qui soutient cet appel empêchera les applications non système de l'appeler, auquel cas vous obtiendrez un SecurityException
lors de l'exécution.