Android 6.0 (M) bietet neue Funktionen für Nutzer und App-Entwickler. In diesem Dokument erhalten Sie eine Einführung in wichtigsten APIs.
Hier geht es los
Um mit der Entwicklung von Apps für Android 6.0 zu beginnen, müssen Sie zunächst das Android SDK. Verwenden Sie dann den SDK Manager. um die Android 6.0 SDK-Plattform und System-Images herunterzuladen.
Ziel-API-Level aktualisieren
Um deine App besser für Geräte mit Android zu optimieren ,
targetSdkVersion
festlegen auf
"23"
, installiere deine App auf einem Android-Gerät
System-Image hinzufügen, testen und dann die aktualisierte App
diese Änderung.
Du kannst Android-APIs verwenden und gleichzeitig ältere
Versionen, indem Sie Ihrem Code Bedingungen hinzufügen, mit denen das System-API-Level geprüft wird
bevor APIs ausgeführt werden, die von der minSdkVersion
nicht unterstützt werden.
Weitere Informationen zur Aufrechterhaltung der Abwärtskompatibilität finden Sie unter Unterstützung
Verschiedene Plattformversionen.
Weitere Informationen zur Funktionsweise von API-Ebenen finden Sie unter Was ist eine API? Stufe?
Authentifizierung per Fingerabdruck
Dieser Release umfasst neue APIs, mit denen Sie Nutzer anhand ihrer Fingerabdruckscans auf unterstützten Geräten verwenden, verwenden Sie diese APIs in Verbindung mit das Android Keystore-System.
Um Nutzer per Fingerabdruckscan zu authentifizieren, rufen Sie eine Instanz des neuen
FingerprintManager
und rufen Sie die
authenticate()
. Ihre App muss auf einem kompatiblen
einen Fingerabdrucksensor verwenden. Sie müssen die Benutzeroberfläche für den Fingerabdruck implementieren
Authentifizierungsvorgang in deiner App und verwende das standardmäßige Android-Fingerabdrucksymbol in deiner Benutzeroberfläche.
Das Android-Fingerabdrucksymbol (c_fp_40px.png
) ist im
Beispiel für biometrische Authentifizierung.
Wenn Sie mehrere Apps mit Fingerabdruckauthentifizierung entwickeln, muss jede App
den Fingerabdruck des Nutzers unabhängig authentifizieren.
Um diese Funktion in Ihrer App zu verwenden, fügen Sie zuerst den
USE_FINGERPRINT
in deinem Manifest.
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
Eine App-Implementierung der Fingerabdruckauthentifizierung findest du in der Beispiel für biometrische Authentifizierung. Demonstration, wie Sie diese Authentifizierung verwenden können APIs in Verbindung mit anderen Android-APIs (siehe Video) <ph type="x-smartling-placeholder"></ph> Fingerprint and Payment APIs (Fingerabdruck- und Zahlungs-APIs)
Wenn Sie diese Funktion testen, gehen Sie so vor:
- Installieren Sie Android SDK Tools Version 24.3, falls Sie dies noch nicht getan haben.
- Registrieren Sie einen neuen Fingerabdruck im Emulator. Gehen Sie dazu zu Einstellungen > Sicherheit > Fingerabdruck verwenden und folgen Sie dann der Anleitung zur Registrierung.
- Verwenden Sie einen Emulator, um Fingerabdruck-Berührungsereignisse mit dem
folgenden Befehl. Verwenden Sie denselben Befehl, um Touch-Ereignisse per Fingerabdruck auf dem Sperrbildschirm zu emulieren oder
in Ihrer App.
adb -e emu finger touch <finger_id>
Unter Windows müssen Sie möglicherweise
telnet 127.0.0.1 <emulator-id>
ausführen, gefolgt vonfinger touch <finger_id>
.
Anmeldedaten bestätigen
Ihre App kann Nutzer anhand der Zeit authentifizieren, mit der sie ihr Gerät zuletzt entsperrt haben. Dieses können sich Nutzer nicht mehr zusätzliche App-spezifische Passwörter merken damit Sie Ihre eigene Benutzeroberfläche zur Authentifizierung implementieren können. Deine App sollte diese Funktion in in Verbindung mit der Implementierung eines öffentlichen oder geheimen Schlüssels für die Nutzerauthentifizierung.
Zum Festlegen des Zeitlimits, für das derselbe Schlüssel wiederverwendet werden kann, nachdem ein Nutzer erfolgreich war
authentifiziert haben, rufen Sie die neue
setUserAuthenticationValidityDurationSeconds()
wenn Sie eine KeyGenerator
- oder
KeyPairGenerator
Vermeiden Sie es, das Dialogfeld für die erneute Authentifizierung übermäßig anzuzeigen. Ihre Apps sollten die Methode
und bei Ablauf der Zeitüberschreitung verwenden Sie die Methode
createConfirmDeviceCredentialIntent()
, um den Nutzer noch einmal in der App zu authentifizieren.
App-Verknüpfung
Diese Version verbessert das Intent-System von Android durch eine effizientere App-Verknüpfung. Mit dieser Funktion können Sie eine App mit einer Webdomain verknüpfen, deren Inhaber Sie sind. Basierend auf diesem verknüpft, kann die Plattform die Standard-App bestimmen, die zur Verarbeitung einer bestimmten und die Aufforderung der Nutzer zur Auswahl einer App überspringen. Informationen zur Implementierung dieser Funktion finden Sie unter Umgang mit App-Links
Automatische Sicherung für Apps
Das System führt jetzt eine automatische Sicherung und Wiederherstellung der vollständigen Daten für Apps durch. Ihre App muss auf Folgendes ausgerichtet sein: Android 6.0 (API-Level 23), um dieses Verhalten zu ermöglichen: müssen Sie keinen zusätzlichen Code hinzufügen. Wenn Nutzer ihre Google-Konten löschen, werden auch ihre Sicherungsdaten gelöscht. Um zu erfahren, wie dies und wie Sie konfigurieren können, was im Dateisystem gesichert werden soll, siehe Automatische Sicherung für Apps konfigurieren
Direkt teilen
In dieser Version stehen Ihnen APIs zur Verfügung, mit denen sich das Teilen für Nutzer intuitiv und schnell gestalten lässt. Sie können jetzt Definieren Sie direkte Freigabeziele, um eine bestimmte Aktivität in Ihrer App zu starten. Diese direkten Anteile Ziele sind für Nutzer über das Menü Teilen sichtbar. Mit dieser Funktion können Nutzer auf Ziele wie Kontakte in anderen Apps ausrichten. Das Direktfreigabeziel könnte z. B. Eine Aktivität in einer anderen App eines sozialen Netzwerks starten, wodurch der Nutzer Inhalte direkt mit einem Freunde oder Communitys teilen möchten.
Um direkte Freigabeziele zu aktivieren, müssen Sie eine Klasse definieren, die die
Klasse ChooserTargetService
. Deklarieren Sie Ihre
im Manifest angegeben werden. Geben Sie innerhalb dieser Deklaration den Parameter
Berechtigung BIND_CHOOSER_TARGET_SERVICE
und ein
Intent-Filter mit der
SERVICE_INTERFACE
Aktion.
Das folgende Beispiel zeigt, wie Sie das Attribut
ChooserTargetService
in deinem Manifest.
<service android:name=".ChooserTargetService" android:label="@string/service_name" android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE"> <intent-filter> <action android:name="android.service.chooser.ChooserTargetService" /> </intent-filter> </service>
Für jede Aktivität, die Sie
ChooserTargetService
, fügen Sie ein
<meta-data>
-Element mit dem Namen
"android.service.chooser.chooser_target_service"
.
<activity android:name=".MyShareActivity” android:label="@string/share_activity_label"> <intent-filter> <action android:name="android.intent.action.SEND" /> </intent-filter> <meta-data android:name="android.service.chooser.chooser_target_service" android:value=".ChooserTargetService" /> </activity>
Sprachinteraktionen
Diese Version bietet ein neues Sprachinteraktions-API, das zusammen mit
Sprachbedienung
ermöglicht es dir, eine dialogorientierte Sprache in deine Apps einzubinden. Rufen Sie die Methode
isVoiceInteraction()
-Methode, um zu ermitteln, ob eine Sprachbedienung ausgelöst wurde
Ihre Aktivitäten. In diesem Fall kann Ihre App die Methode
VoiceInteractor
-Klasse, um eine Sprachbestätigung vom Nutzer anzufordern, wählen Sie
aus einer Liste von Optionen usw. auswählen.
Die meisten Interaktionen erfolgen per Sprachbefehl. Eine Sprachinteraktion kann
auch ohne Nutzereingabe beginnen. Beispiel: Eine andere App, die per Sprachbefehl gestartet wird,
Interaktion kann auch einen Intent senden,
um eine Sprachinteraktion zu starten. Um festzustellen, ob Ihre Aktivitäten
die über die Sprachanfrage des Nutzers oder eine andere App für Sprachinteraktionen gestartet wird,
isVoiceInteractionRoot()
-Methode. Wenn Ihr
Aktivität gibt die Methode false
zurück. Ihre App kann den Nutzer dann auffordern, zu bestätigen, dass
diese Aktion beabsichtigt war.
Weitere Informationen zur Implementierung der Sprachbedienung finden Sie in der Entwicklerwebsite für die Sprachbedienung
Assist-API
Diese Version bietet Nutzern eine neue Möglichkeit, über einen Assistenten mit Ihren Apps zu interagieren. So verwenden Sie diese aktiviert haben, muss der Nutzer den Assistenten aktivieren, um den aktuellen Kontext zu verwenden. Nach der Aktivierung kann der Nutzer kannst den Assistenten in jeder App aufrufen, indem du lange auf die Startbildschirmtaste drückst.
Deine App kann festlegen, dass der aktuelle Kontext nicht für den Assistenten freigegeben wird, indem die
Flag FLAG_SECURE
. Zusätzlich zu den
Standarddatensatz, den die Plattform an den Assistenten weitergibt, kann Ihre App diese Informationen
mithilfe der neuen Klasse AssistContent
zusätzliche Informationen erhalten.
So stellst du dem Assistenten zusätzlichen Kontext aus deiner App bereit:
- Implementieren Sie die
Application.OnProvideAssistDataListener
-Schnittstelle. - Registrieren Sie diesen Listener mithilfe von
registerOnProvideAssistDataListener()
- Um aktivitätsspezifische Kontextinformationen bereitzustellen, überschreiben Sie die
onProvideAssistData()
Callback und optional das neueonProvideAssistContent()
Callback des Nutzers an.
Verwendbare Speichergeräte
Mit dieser Version können Nutzer externe Speichergeräte wie SD-Karten akzeptieren. Die Anwendung eines
Das externe Speichergerät verschlüsselt und formatiert das Gerät so, dass es sich wie der interne Speicher verhält. Dieses
können Nutzer sowohl Apps als auch private Daten dieser Apps auf andere Speichergeräte verschieben. Wann?
beim Verschieben von Apps berücksichtigt, respektiert das System die
android:installLocation
im Manifest.
Wenn Ihre Anwendung auf die folgenden APIs oder Felder zugreift, beachten Sie, dass die von ihnen zurückgegebenen Dateipfade ändert sich dynamisch, wenn die App zwischen internen und externen Speichergeräten verschoben wird. Beim Erstellen von Dateipfaden wird dringend empfohlen, diese APIs immer dynamisch aufzurufen. Verwenden Sie keine hartcodierten Dateipfade und speichern Sie keine voll qualifizierten Dateipfade, die zuvor erstellt wurden.
Context
-Methoden: <ph type="x-smartling-placeholder">ApplicationInfo
-Felder: <ph type="x-smartling-placeholder">
Um Fehler bei dieser Funktion zu beheben, können Sie die Verwendung eines USB-Speichers aktivieren, der das über ein USB-OTG-Kabel (On-the-Go) mit einem Android-Gerät verbunden ist, indem Sie den folgenden Befehl ausführen:
$ adb shell sm set-force-adoptable true
Benachrichtigungen
In dieser Version wurden die folgenden API-Änderungen für Benachrichtigungen hinzugefügt:
- Neue Filterstufe „
INTERRUPTION_FILTER_ALARMS
“, die entspricht dem neuen „Nicht stören“-Modus Nur Wecker. - Neuer Kategoriewert
CATEGORY_REMINDER
, der für Folgendes verwendet wird: Von Nutzern geplante Erinnerungen von anderen Terminen unterscheiden (CATEGORY_EVENT
) und Wecker (CATEGORY_ALARM
) - Neuer
Icon
-Kurs, den Sie an Ihre Benachrichtigungen anhängen können über dassetSmallIcon()
undsetLargeIcon()
. In ähnlicher Weise Die MethodeaddAction()
akzeptiert jetzt einIcon
-Objekt anstelle eines Drawable-Ressourcen-ID - Mit der neuen
getActiveNotifications()
-Methode können Sie Apps, um herauszufinden, welche ihrer Benachrichtigungen aktiv sind.
Unterstützung für Bluetooth-Eingabestifte
Diese Version bietet verbesserte Unterstützung für Nutzereingaben über einen Bluetooth-Eingabestift. Nutzer können koppeln
und einen kompatiblen Bluetooth-Eingabestift mit dem Smartphone oder Tablet verbinden. Bei bestehender Verbindung positionieren
Informationen vom Touchscreen werden mit Druck- und Tasteninformationen des Eingabestifts
bieten mehr Ausdrucksmöglichkeiten als nur mit dem Touchscreen. Ihre App kann auf
das Drücken der Eingabestifttaste und führt sekundäre Aktionen durch,
View.OnContextClickListener
und
GestureDetector.OnContextClickListener
Objekte in deiner Aktivität.
Mit den MotionEvent
-Methoden und -Konstanten die Eingabestifttaste erkennen
Interaktionen:
- Wenn der Nutzer auf dem Bildschirm Ihrer App einen Eingabestift mit einer Taste berührt,
Rückgabe der Methode
getTooltype()
TOOL_TYPE_STYLUS
. - Für Apps, die auf Android 6.0 (API-Level 23) ausgerichtet sind,
getButtonState()
gibtBUTTON_STYLUS_PRIMARY
zurück, wenn der Nutzer die Haupttaste für den Eingabestift drückt. Hat der Eingabestift eine zweite Taste, gibt die gleiche MethodeBUTTON_STYLUS_SECONDARY
, wenn der Nutzer darauf drückt. Wenn die Nutzenden beide Schaltflächen gleichzeitig verwenden, gibt die Methode beide Werte zurück, die miteinander verknüpft sind. (BUTTON_STYLUS_PRIMARY
|BUTTON_STYLUS_SECONDARY
) -
Für Apps, die auf eine niedrigere Plattformversion ausgerichtet sind,
Rückgabe der Methode
getButtonState()
BUTTON_SECONDARY
(zum Drücken der primären Eingabestifttaste),BUTTON_TERTIARY
(wenn Sie die zweite Taste für den Eingabestift drücken) oder beide.
Verbesserte Bluetooth Low Energy-Suche
Wenn deine App Bluetooth Low Energy sucht, verwende die neue
setCallbackType()
, um anzugeben, dass das System Rückrufe benachrichtigen soll, wenn es das erste Mal einen
lang ist, wurde ein Advertising-Paket erstellt, das mit dem Satz ScanFilter
übereinstimmt. Dieses
Der Scanansatz ist energieeffizienter als die vorherige Plattformversion.
Unterstützung für Hotspot 2.0 Version 1
Diese Version unterstützt die Spezifikation Hotspot 2.0 Release 1 auf Nexus 6- und Nexus 9-Geräten. Bis
Hotspot 2.0-Anmeldedaten in Ihrer Anwendung bereitstellen, verwenden Sie die neuen Methoden der
WifiEnterpriseConfig
-Klasse, z. B.
setPlmn()
und
setRealm()
Im
WifiConfiguration
-Objekt enthält, können Sie den Parameter
FQDN
und die
providerFriendlyName
-Felder.
Die neue Methode isPasspointNetwork()
gibt an, ob eine erkannte
Netzwerk einen Hotspot 2.0-Zugangspunkt darstellt.
4K-Anzeigemodus
Über die Plattform können Apps jetzt anfordern, dass die Bildschirmauflösung auf 4K-Rendering aktualisiert wird.
auf kompatibler Hardware. Verwenden Sie zum Abfragen der aktuellen physischen Auflösung die neue
Display.Mode
-APIs. Wenn die Benutzeroberfläche mit einer niedrigeren logischen Auflösung gezeichnet wurde und
physisch hochauflösender Bilder hochskaliert,
berücksichtigen Sie, dass die physische Auflösung
Die Rückgabe der getPhysicalWidth()
-Methode kann vom logischen Wert abweichen
Problembehebung gemeldet von getSize()
.
Sie können beantragen, dass das System die physische Auflösung in Ihrer laufenden App ändert. Legen Sie dazu
das Attribut preferredDisplayModeId
der
. Diese Funktion ist nützlich, wenn Sie zur 4K-Bildschirmauflösung wechseln möchten. In 4K-Bildschirm
wird die Benutzeroberfläche weiterhin in der ursprünglichen Auflösung (z. B. 1080p) gerendert und auf
4K, aber SurfaceView
-Objekte können Inhalte in der nativen Auflösung anzeigen.
Themeable ColorStateLists
Designattribute werden jetzt in
ColorStateList
für Geräte mit Android 6.0 (API-Level 23). Die
Resources.getColorStateList()
und
Resources.getColor()
Methoden wurden
eingestellt. Wenn Sie diese APIs aufrufen, rufen Sie die neue
Context.getColorStateList()
oder
Context.getColor()
-Methode. Diese Methoden sind
auch in der v4-Appcompat-Bibliothek über ContextCompat
verfügbar.
Audiofunktionen
Dieser Release enthält Verbesserungen bei der Audioverarbeitung unter Android, darunter:
- Unterstützung für MIDI
mit den neuen
android.media.midi
APIs. Diese APIs zum Senden und Empfangen von MIDI verwenden Ereignisse. - Neue
AudioRecord.Builder
undAudioTrack.Builder
-Klassen zur Erstellung digitaler Audioaufzeichnungs- bzw. -wiedergabeobjekte und zum Konfigurieren von Audioanzeigen. Quell- und Senkeneigenschaften die Systemstandardwerte zu überschreiben. - API-Hooks zum Verknüpfen von Audio- und Eingabegeräten. Das ist besonders nützlich, wenn Ihre App
Nutzer können über einen Controller oder eine Fernbedienung, die mit Android verbunden sind, eine Sprachsuche starten
Fernseher. Das System ruft die neue
onSearchRequested()
-Rückruf zurück, wenn der Nutzer eine Suche startet. Um festzustellen, ob das Eingabegerät des Nutzers eine integrierte Mikrofon, rufen Sie dasInputDevice
-Objekt von diesem Callback ab und rufen Sie dann die Methode neue MethodehasMicrophone()
. - Mit der neuen
getDevices()
-Methode können Sie eine Liste aller Audiogeräte abrufen, die derzeit mit dem System verbunden sind. Sie können auch eineAudioDeviceCallback
-Objekt, wenn du möchtest, dass das System deine App benachrichtigt. Ein Audiogerät stellt eine Verbindung her oder trennt seine Verbindung.
Videofunktionen
In diesem Release werden den APIs zur Videoverarbeitung neue Funktionen hinzugefügt, darunter:
- Neue
MediaSync
-Klasse, mit der Anwendungen synchron rendern können Audio- und Videostreams. Die Audiopuffer werden nicht blockierend gesendet und die über einen Callback zurückgegeben wurden. Eine dynamische Wiedergaberate wird ebenfalls unterstützt. - Neues
EVENT_SESSION_RECLAIMED
-Ereignis, das angibt, dass ein von der App geöffnete Sitzung wurde vom Ressourcenmanager freigegeben. Wenn Ihre App DRM-Sitzungen nutzt, sollten Sie dieses Ereignis verarbeiten und vermeiden, eine freigegebene Sitzung zu verwenden. - Neuer
ERROR_RECLAIMED
-Fehlercode, der angibt, dass der Ressourcenmanager die vom Codec verwendete Medienressource zurückgefordert hat. Mit dieser Ausnahme -Codec muss freigegeben werden, da er sich im Endzustand befindet. - Neue
getMaxSupportedInstances()
-Oberfläche, um einen Hinweis für die maximale Anzahl der unterstützten gleichzeitigen Codec-Instanzen. - Neue
setPlaybackParams()
-Methode zum Einstellen der Medienwiedergaberate auf schnelle oder Zeitlupe. Außerdem wird die Audiowiedergabe automatisch gestreckt oder beschleunigt, die mit dem Video in Verbindung stehen.
Kamerafunktionen
Diese Version enthält die folgenden neuen APIs für den Zugriff auf die Taschenlampe der Kamera und Wiederverarbeitung von Bildern mit der Kamera:
Flashlight-API
Verfügt eine Kamera über ein Blitzgerät, können Sie die Funktion
setTorchMode()
um den Taschenlampenmodus ein- oder auszuschalten, ohne die Kamera zu öffnen. Die App
nicht das alleinige Eigentumsrecht am Blitzgerät oder der Kamera besitzt. Der Taschenlampenmodus ist aktiviert
aus und ist nicht mehr verfügbar, wenn die Kamera nicht mehr verfügbar ist oder wenn eine andere Kamera
Ressourcen, die die Taschenlampe eingeschaltet haben, nicht mehr verfügbar sind. Andere Apps können auch Anrufe tätigen
setTorchMode()
um den Taschenlampenmodus auszuschalten. Wenn die letzte App, mit der der Taschenmodus aktiviert wurde, geschlossen wird,
Modus deaktiviert ist.
Sie können einen Callback registrieren, der über den Status des Taschenmodus informiert wird. Rufen Sie dazu die
registerTorchCallback()
. Wenn der Callback zum ersten Mal registriert wird, wird er sofort mit dem Taschenmodus aufgerufen
Status aller derzeit bekannten Kamerageräte mit einem Blitzgerät. Wenn der Taschenlampenmodus aktiviert ist oder
abgeschlossen ist, wird der
onTorchModeChanged()
aufgerufen wird.
API für die erneute Verarbeitung
Die Camera2
API wurde erweitert, um YUV und private zu unterstützen
Erneute Verarbeitung von opaken Bildern. Um festzustellen, ob diese Wiederverarbeitungsfunktionen verfügbar sind,
rufen Sie getCameraCharacteristics()
auf und prüfen Sie,
REPROCESS_MAX_CAPTURE_STALL
-Taste. Wenn ein
Gerät die erneute Verarbeitung unterstützt, können Sie eine wiederverarbeitbare Kameraaufnahmesitzung erstellen, indem Sie
createReprocessableCaptureSession()
,
und Anfragen zur erneuten
Verarbeitung von Eingabepuffern erstellen.
Verwende die Klasse ImageWriter
, um den Eingabepuffer mit der Kamera zu verbinden
die Eingabe erneut verarbeiten. Folgen Sie diesem Programmiermodell, um einen leeren Puffer zu erhalten:
- Rufen Sie die Methode
dequeueInputImage()
auf. - Geben Sie die Daten in den Eingabepuffer ein.
- Senden Sie den Puffer an die Kamera, indem Sie die Methode
queueInputImage()
-Methode.
Wenn Sie ein ImageWriter
-Objekt zusammen mit einem
PRIVATE
Bild, deine App kann nicht auf das Bild zugreifen
Daten direkt. Übergeben Sie stattdessen das PRIVATE
-Image direkt an die
ImageWriter
durch Aufrufen der Methode
Methode queueInputImage()
ohne Pufferkopien.
Die Klasse ImageReader
unterstützt jetzt
Bildstreams im PRIVATE
-Format. Diese Unterstützung ermöglicht es deiner App,
Pflegen Sie eine kreisförmige Image-Warteschlange mit ImageReader
Ausgabebildern. Wählen Sie eines oder
und senden Sie sie zur erneuten Verarbeitung an ImageWriter
.
Android for Work-Funktionen
Diese Version enthält die folgenden neuen APIs für Android for Work:
- Erweiterte Einstellungen für unternehmenseigene, zweckgebundene Geräte:Der Geräteinhaber
kann jetzt die folgenden Einstellungen steuern, um die Verwaltung von
Unternehmenseigene, COSU-Geräte:
<ph type="x-smartling-placeholder">
- </ph>
- Deaktivieren oder aktivieren Sie den Keyguard mit der
setKeyguardDisabled()
-Methode. - Deaktivieren oder aktivieren Sie die Statusleiste einschließlich der Schnelleinstellungen, Benachrichtigungen und der
Navigationsgeste zum Starten von Google Now).
setStatusBarDisabled()
. - Safe Boot mit der Konstante
UserManager
deaktivieren oder wieder aktivierenDISALLOW_SAFE_BOOT
. - Verhindern, dass sich der Bildschirm ausschaltet, wenn das Gerät an eine Stromquelle angeschlossen ist
STAY_ON_WHILE_PLUGGED_IN
-Konstante.
- Deaktivieren oder aktivieren Sie den Keyguard mit der
- Automatische Installation und Deinstallation von Apps durch den Geräteinhaber:Ein Geräteinhaber kann jetzt
Apps mithilfe der
PackageInstaller
automatisch installieren und deinstallieren APIs, unabhängig von Google Play for Work. Sie können Geräte jetzt über einen Geräteinhaber bereitstellen, Apps ohne Nutzerinteraktion abrufen und installieren. Diese Funktion ist nützlich, um Bereitstellung von Kiosken oder ähnlichen Geräten ohne Aktivierung eines Google-Kontos - Zugriff auf Unternehmenszertifikate im Hintergrund : Ruft eine App auf
choosePrivateKeyAlias()
, bevor der Nutzer zur Auswahl eines Zertifikats aufgefordert wird, kann der Profil- oder Geräteinhaber jetztonChoosePrivateKeyAlias()
, um der anfragenden Anwendung den Alias im Hintergrund bereitzustellen. Mit dieser Funktion können Sie Verwaltete Apps haben ohne Nutzerinteraktion Zugriff auf Zertifikate. - Automatische Annahme von Systemupdates. Durch Festlegen einer Richtlinie für Systemupdates
setSystemUpdatePolicy()
, können Geräteeigentümer jetzt Systemakzeptanzen automatisch z. B. bei einem Kioskgerät, oder verschieben Sie das Update, um zu verhindern, vom Nutzer bis zu 30 Tage lang angezeigt wird. Außerdem kann ein Administrator ein tägliches Zeitfenster für die ein Update durchgeführt werden muss, z. B. während der Geschäftszeiten, wenn ein Kioskgerät nicht verwendet wird. Wann? ein Systemupdate verfügbar ist, prüft das System, ob in der Device Policy Controller-App ein System aktualisiert und sich entsprechend verhält. -
Installation eines delegierten Zertifikats: Ein Profil oder Geräteinhaber kann jetzt
Drittanbieter-App die Möglichkeit, dieses
DevicePolicyManager
-Zertifikat Management-APIs: <ph type="x-smartling-placeholder"> - Datennutzungs-Tracking: Ein Profil- oder Geräteinhaber kann nun
Statistiken zur Datennutzung erscheinen unter Einstellungen > Datennutzung mithilfe des neuen
NetworkStatsManager
-Methoden. Profilinhabern werden automatisch Berechtigung, Daten in dem von ihnen verwalteten Profil abzufragen, während Geräteinhaber Zugriff auf Nutzungsdaten erhalten des verwalteten primären Nutzers. - Verwaltung von Laufzeitberechtigungen:
Ein Profil- oder Geräteinhaber kann eine Berechtigungsrichtlinie festlegen für alle Laufzeitanfragen aller Anwendungen mit
setPermissionPolicy()
, um den Nutzer entweder zur Erteilung der Berechtigung aufzufordern oder die Berechtigung automatisch zu gewähren oder die Berechtigung stillschweigend zu verweigern. Ist letztere Richtlinie konfiguriert, kann der Nutzer die vom Profil oder Geräteeigentümer getroffene Auswahl auf dem Berechtigungsbildschirm der App ändern in Einstellungen: - VPN in den Einstellungen:VPN-Apps sind jetzt sichtbar in Einstellungen > Mehr > VPN Außerdem beziehen sich die Benachrichtigungen zur VPN-Nutzung nun speziell auf die Art und Weise, wie das VPN konfiguriert. Für Profilinhaber sind die Benachrichtigungen spezifisch dafür, ob das VPN konfiguriert ist für ein verwaltetes Profil, ein privates Profil oder beides. Für einen Geräteeigentümer sind die Benachrichtigungen gibt an, ob das VPN für das gesamte Gerät konfiguriert ist.
- Benachrichtigung zum Arbeitsstatus: Ein Aktenkoffersymbol in der Statusleiste wird jetzt immer angezeigt, wenn Bei einer App aus dem verwalteten Profil wird eine Aktivität im Vordergrund ausgeführt. Wenn das Gerät außerdem direkt auf die Aktivität einer App im verwalteten Profil entsperrt wird, wird ein Toast mit einer Benachrichtigung angezeigt. dass der Nutzer sich im Arbeitsprofil befindet.