Erreur « La méthode createUser(String, int) n'est pas définie pour le type UserManager »

StackOverflow https://stackoverflow.com//questions/23011652

  •  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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top