Fehler „Die Methode createUser(String, int) ist für den Typ UserManager undefiniert“
-
21-12-2019 - |
Frage
Ich versuche, einen neuen Benutzer zu erstellen UserManager
Dienst auf Android KK 4.4 (Mehrbenutzer)
mUserManager = (UserManager)getSystemService(Context.USER_SERVICE);
mUserManager.createUser("USER NAME", 0);
Ich kann auf alle anderen APIs zugreifen UserManager
verwenden mUserManager
ohne einen Fehler zu geben, aber createUser
zeigt den Fehler „Die Methode createUser(String, int)
ist für den Typ undefiniert UserManager
".
ich kann sehen createUser
ist definiert in UserManager
Klasse.
Kann mir bitte jemand dabei helfen, falls mir etwas fehlt.
Lösung
Wenn Sie sich auf die beziehen Dokumentation für UserManager
, das wirst du sehen, nein createUser
Methode aufgeführt ist.Obwohl die Methode im Android-Quellcode definiert ist und im auf dem Gerät installierten Framework vorhanden ist, ist sie nicht Teil der öffentlichen API und daher nicht im Android SDK vorhanden.Das heißt, es befindet sich nicht in der android.jar-Datei, mit der Sie Ihre App verknüpfen.
Möglicherweise ist es immer noch möglich, über Reflektion darauf zuzugreifen, aber ich vermute eher, dass der Dienst, der diesen Aufruf unterstützt, den Aufruf durch Nicht-System-Apps verbietet. In diesem Fall erhalten Sie eine Fehlermeldung SecurityException
zur Laufzeit.