Ist es möglich, das aktuell ausgewählte Profil des Telefons zu bekommen?

Die Aktie Cyanogenmod ROM hat Unterstützung für Profile gebacken und obwohl ich nicht sicher bin ob dies ein Teil der Standard-Android-Funktionalität ist, habe ich mich gefragt, ob es möglich ist, den Namen des aktuell ausgewählten Profils zu erhalten.

Ich habe hierzu keine Entwicklerdokumentation gefunden.

(Angenommen, das Android-SDK unterstützt das nicht, kann eine Superuser-App diese Funktionalität implementieren?)

Vielen Dank


Trudging durch einige CM-Quelle fand ich den Quellcode für den ProfileManager . Die Methoden sind öffentlich, so dass ich glaube, ich brauche nicht, um die Kaninchen-Loch von Java Reflexion … aber um diese Klassen zu verwenden, brauche ich einige Cyanogenmod JARs zu bauen.

  • Fragment hinzufügen oder ersetzen funktioniert nicht
  • Um zu prüfen, ob String ein bestimmtes Wort enthält
  • Was passiert mit einem Android-Thread nach der Aktivität, die es erstellt hat, ist zerstört?
  • PercentRelativeLayout, wie man die Höhe programmgesteuert festlegt
  • Android: gravity = "right" funktioniert nicht an allen Geräten für arabische und andere RTL-Sprachen
  • Android Webview Seite nicht korrekt geladen
  • Android WebView: lädt nur HTML, lädt nicht JS oder CSS (in einigen Geräten)
  • Wie man json analysiert mit GSON in android
  • One Solution collect form web for “Ist es möglich, das aktuell ausgewählte Profil des Telefons zu bekommen?”

    Ich habs. Ein bisschen hässliche Reflexion und voila. Die Klassen sind ProfilManager und Profil

    Object o = getSystemService("profile"); try { Class<?> ProfileManager = Class.forName("android.app.ProfileManager"); Class<?> Profile = Class.forName("android.app.Profile"); try { Method getActiveProfile = ProfileManager.getDeclaredMethod("getActiveProfile", null); Method getName = Profile.getDeclaredMethod("getName", null); try { String strProfile = (String) getName.invoke(getActiveProfile.invoke(o)); System.out.println("Current profile is: " + strProfile); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } catch (NoSuchMethodException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.