Google Play verwendet die <uses-feature>
Elemente, die in deinem App-Manifest deklariert sind, um deine App nach Geräten zu filtern
die die Anforderungen an Hardware- und Softwarefunktionen nicht erfüllen.
Wenn Sie die Funktionen angeben, die Ihre Anwendung benötigt, können Sie es Google Play ermöglichen, Ihre App nur Nutzern zu präsentieren, deren Geräte die Funktionsanforderungen der Anwendung erfüllen, für alle Nutzenden.
Wichtige Informationen dazu, Google Play verwendet Funktionen als Grundlage für die Filterung (siehe Abschnitt Google Play und funktionsbasiertes Filtern).
- Syntax:
-
<uses-feature android:name="string" android:required=["true" | "false"] android:glEsVersion="integer" />
- enthalten in:
<manifest>
- description:
eine einzelne Hardware- oder Softwarefunktion angibt, die vom .
Mit einer
<uses-feature>
-Deklaration möchten wir Sie darüber informieren, eine externe Stelle der Hardware- und Softwarefunktionen, von der die Anwendung abhängig ist. Das Element bietet einrequired
-Attribut, das können Sie angeben, ob Ihre Anwendung ohne die deklarierte Funktion oder die Funktion bevorzugt, kann aber funktionieren ohne sie.Da die Funktionsunterstützung je nach Android-Gerät variieren kann, Das
<uses-feature>
-Element spielt eine wichtige Rolle dabei, werden die verwendeten gerätevariablen Funktionen beschrieben.Die verfügbaren Funktionen, die von Ihrer Anwendung deklariert werden die Funktionskonstanten, die durch Android
PackageManager
zur Verfügung gestellt werden. Die Featurekonstanten sind in der Abschnitt zur Funktionsreferenz in in diesem Dokument.Sie müssen jedes Element in einem separaten
<uses-feature>
angeben. -Element enthält. Wenn Ihre Anwendung also mehrere Funktionen benötigt, deklariert sie Mehrere<uses-feature>
-Elemente. Beispiel: Eine App für die sowohl Bluetooth- als auch Kamerafunktionen im Gerät deklariert sind. diese beiden Elemente:<uses-feature android:name="android.hardware.bluetooth" android:required="true" /> <uses-feature android:name="android.hardware.camera.any" android:required="true" />
Im Allgemeinen erklären Sie
<uses-feature>
-Elemente für alle Elemente, die die für die Anwendung erforderlich sind.Die deklarierten
<uses-feature>
-Elemente dienen nur zu Informationszwecken. die das Android-System selbst nicht auf Unterstützung von übereinstimmenden Funktionen prüft, auf dem Gerät, bevor Sie eine Anwendung installieren.Andere Dienste, wie z. B. Google Play, und Apps können die Leistung Ihrer App
<uses-feature>
-Deklarationen im Rahmen der Verarbeitung oder Interaktion mit Ihrer Anwendung. Aus diesem Grund ist es sehr wichtig, dass Sie alle die von Ihrer Anwendung verwendeten Funktionen.Für einige Funktionen gibt es möglicherweise ein bestimmtes Attribut, mit dem Sie eine Version der Funktion, wie z. B. die verwendete Version von Open GL (deklariert mit
glEsVersion
) Andere Funktionen, die entweder für ein Gerät wie z. B. eine Kamera existieren, werden mithilfe der Methodename
-Attribut.Obwohl das
<uses-feature>
-Element nur für mit API-Level 4 oder höher müssen diese Elemente für alle selbst wenn dieminSdkVersion
3 oder niedriger ist. Geräte, auf denen ältere Versionen der Plattform ausgeführt werden, werden ignoriert. das Element.Hinweis:Denken Sie beim Deklarieren einer Funktion daran, dass Sie ggf. auch Berechtigungen anfordern müssen. Zum Beispiel müssen Sie
CAMERA
anfordern bevor Ihre Anwendung auf die Kamera-API zugreifen kann. Anfrage des gewährt Ihrer Anwendung Zugriff auf die entsprechende Hardware und Software. Indem du die von deiner App verwendeten Funktionen deklarierst, Gerätekompatibilität.- Attribute:
-
-
android:name
- Gibt eine einzelne Hardware- oder Softwarefunktion an, die von der Anwendung als eine Beschreibungszeichenfolge. Gültige Attributwerte sind unter Hardware-Funktionen und Software Features. Bei diesen Attributwerten wird zwischen Groß- und Kleinschreibung unterschieden.
-
android:required
-
Boolescher Wert, der angibt, ob die Anwendung die Funktion benötigt
in
android:name
angegeben.- Wenn Sie
android:required="true"
für ein Feature deklarieren, bedeutet das, die Anwendung nicht funktioniert oder nicht ausgeführt werden soll, wenn das angegebene Feature nicht im . - Wenn Sie
android:required="false"
für ein Feature deklarieren, bedeutet das, Die Anwendung verwendet die Funktion, sofern vorhanden auf an das Gerät angeschlossen ist, aber dafür ausgelegt ist, ohne die angegebenen , falls nötig.
Der Standardwert für
android:required
ist"true"
. - Wenn Sie
android:glEsVersion
- Die für die Anwendung erforderliche OpenGL ES-Version. Je höher die 16 Bit,
die Major-Zahl und die unteren 16 Bits die Minor-Zahl. Für
Um OpenGL ES Version 2.0 anzugeben, legen Sie den Wert wie folgt fest:
Um „0x00020000“ anzugeben, legen Sie den Wert auf „0x00030002“ fest, um OpenGL ES 3.2 anzugeben.
Eine Anwendung gibt höchstens eine
android:glEsVersion
an in seinem Manifest. Wird mehr als eines angegeben,android:glEsVersion
mit dem numerisch höchsten Wert wird verwendet und alle anderen Werte werden ignoriert.Wenn in einer Anwendung kein
android:glEsVersion
angegeben ist wird angenommen, dass die Anwendung nur OpenGL ES 1.0 erfordert. das von allen Android-Geräten unterstützt wird.Eine App kann davon ausgehen, dass eine Plattform, die ein bestimmtes OpenGL ES unterstützt, -Version unterstützt sie auch alle numerisch niedrigeren OpenGL ES-Versionen. Daher ist für für eine Anwendung, die sowohl OpenGL ES 1.0 als auch OpenGL ES 2.0 erfordert, dass es OpenGL ES 2.0 erfordert.
Bei Anwendungen, die mit verschiedenen OpenGL ES-Versionen funktionieren, Sie geben nur die numerisch niedrigste Version von OpenGL ES an, die erforderlich ist. Es kann während der Laufzeit prüfen, ob eine höhere Ebene von OpenGL ES verfügbar ist.
Weitere Informationen zur Verwendung von OpenGL ES und zum Prüfen des unterstützten OpenGL ES Version zur Laufzeit erhalten Sie in der OpenGL ES API-Leitfaden.
-
- eingeführt in:
- API-Level 4
- Siehe auch:
Google Play und funktionsbasiertes Filtern
Google Play filtert die für Nutzer sichtbaren Apps, sodass können Nutzer nur die Apps anzeigen und herunterladen, die kompatibel mit auf ihrem Gerät. Anwendungen werden unter anderem nach Funktionen gefiltert. Kompatibilität.
Um die Funktionskompatibilität einer Anwendung mit denen eines bestimmten Nutzers zu ermitteln vergleicht Google Play Folgendes:
- Für die Anwendung erforderliche Funktionen, wie in
<uses-feature>
-Elemente im Manifest der App. - Funktionen, die wie angegeben auf dem Gerät in Hardware oder Software verfügbar sind mit schreibgeschützten Systemeigenschaften.
Um Funktionen genau zu vergleichen, bietet der Android Package Manager
bietet einen gemeinsamen Satz von Funktionskonstanten, die sowohl in Anwendungen als auch auf Geräten
um Funktionsanforderungen und Support zu deklarieren. Die verfügbaren Funktionskonstanten
sind im Abschnitt Funktionsreferenz aufgeführt.
in diesem Dokument und in der Kursdokumentation
PackageManager
Wenn der Nutzer Google Play startet, fragt die App die
Paketmanager finden Sie eine Liste der auf dem Gerät verfügbaren Funktionen. Rufen Sie dazu
getSystemAvailableFeatures()
Die
Die Store-App übergibt dann die Liste der Funktionen an Google Play.
wenn Sie die Sitzung für den Nutzer einrichten.
Jedes Mal, wenn Sie eine App
in die Google Play Console hochladen,
Google Play scannt die Manifestdatei der App. Sucht nach
<uses-feature>
-Elemente und bewertet sie in Kombination
mit anderen Elementen, in einigen Fällen wie <uses-sdk>
und
<uses-permission>
-Elemente. Nach der Einrichtung der
alle erforderlichen Funktionen der Anwendung enthält, wird diese Liste intern als
Mit dem App-APK und der App verknüpfte Metadaten
Version.
Wenn ein Nutzer mit Google Play nach Apps sucht vergleicht der Dienst die von der jeweiligen Anwendung benötigten Funktionen mit die auf dem Gerät des Nutzers verfügbaren Funktionen anzuzeigen. Wenn alle erforderlichen Funktionen vorhanden sind, können Nutzer bei Google Play und lade sie ggf. herunter.
Wenn eine erforderliche Funktion nicht vom Gerät unterstützt wird, filtert Google Play die App so, sichtbar für den Nutzer oder zum Download zur Verfügung.
Weil die Funktionen, die Sie in <uses-feature>
deklarieren,
direkt darauf auswirken, wie Google Play eure App filtert,
Es ist wichtig zu verstehen, wie Google Play das Manifest der App bewertet
und legt die
erforderlichen Funktionen fest. In den folgenden Abschnitten finden Sie
Informationen.
Auf der Grundlage explizit deklarierter Funktionen filtern
Eine explizit deklarierte Funktion ist eine Funktion, die Ihre Anwendung in einem
<uses-feature>
-Element. Die Deklaration der Funktion kann Folgendes enthalten:
ein android:required=["true" | "false"]
-Attribut, wenn Sie
Kompilierung mit API Level 5 oder höher.
Damit können Sie angeben,
Anwendung erfordert die Funktion und funktioniert nicht ordnungsgemäß, wenn
es ("true"
) oder verwendet die Funktion
falls verfügbar, aber für den Betrieb ohne dieses Tool konzipiert ("false"
).
Google Play verarbeitet explizit deklarierte Funktionen so:
- Wenn eine Funktion ausdrücklich als erforderlich erklärt wird, wie im Folgenden
zum Beispiel fügt Google Play
der Liste der für die Anwendung erforderlichen Funktionen hinzu. Dann
filtert die Anwendung von Nutzern auf Geräten, die diese Funktion nicht bieten.
<uses-feature android:name="android.hardware.camera.any" android:required="true" />
- Wenn eine Funktion ausdrücklich als nicht erforderlich erklärt wird, wie in den
Im folgenden Beispiel wird Google
Google Play fügt die Funktion nicht zur Liste der erforderlichen Funktionen hinzu. Für
Daher wird eine ausdrücklich erklärte nicht erforderliche Funktion nie berücksichtigt, wenn
zum Filtern der Anwendung. Auch wenn das Gerät die angegebene
betrachtet Google Play die App trotzdem als kompatibel mit dem
und dem Nutzer angezeigt wird, sofern keine anderen Filterregeln gelten.
<uses-feature android:name="android.hardware.camera" android:required="false" />
- Wenn eine Funktion explizit deklariert wird, jedoch ohne
android:required
-Attribut enthält, geht Google Play davon aus, ist erforderlich und richtet die Filterung dafür ein.
Wenn Ihre App für Android 1.6 und niedriger entwickelt wurde,
Das Attribut android:required
ist in der
und Google Play geht davon aus,
<uses-feature>
-Deklarationen sind erforderlich.
Hinweis:Wenn Sie eine Funktion explizit und
android:required="false"
-Attribut enthält, können Sie
effektiv alle Filter bei Google Play für die angegebene Funktion deaktivieren.
Nach impliziten Merkmalen filtern
Eine implizite Funktion ist eine Funktion, die eine Anwendung benötigt, um
ordnungsgemäß funktionieren, die jedoch nicht in einem
<uses-feature>
-Element in der Manifestdatei. Streng
gesprochen, es ist am besten, wenn in jeder Anwendung immer alle Funktionen angegeben werden,
verwendet oder erfordert und das Fehlen einer Deklaration für eine Funktion, die von einem
Anwendung als Fehler angesehen werden.
Als Absicherung für Nutzer und Nutzer sucht Google Play in jeder App nach impliziten Funktionen setzt Filter für diese Funktionen ein, genau wie bei expliziten deklarierten Funktionen.
Eine Anwendung kann eine Funktion erfordern, aber aus folgenden Gründen nicht deklariert werden:
- Die App wurde mit einer älteren Version der Android-Bibliothek kompiliert.
(Android 1.5 oder niedriger), bei denen das
<uses-feature>
-Element nicht verfügbar. - Der Entwickler geht fälschlicherweise davon aus, dass die Funktion auf allen Geräte und eine Erklärung ist nicht erforderlich.
- Der Entwickler lässt die Funktionsdeklaration versehentlich weg.
- Der Entwickler erklärt die Funktion explizit, die Erklärung ist aber nicht
gültig sein. Beispiel: Ein Rechtschreibfehler im
<uses-feature>
Elementname oder einen nicht erkannten Stringwert für die Das Attributandroid:name
macht die Funktionsdeklaration ungültig.
Aus diesem Grund versucht Google Play,
implizierten Funktionsanforderungen der Anwendung durch die Untersuchung anderer Elemente
in der Manifest-Datei deklariert, insbesondere
<uses-permission>
-Elemente.
Wenn eine App hardwarebezogene Berechtigungen anfordert,
dass die Anwendung die zugrunde liegenden Hardwarefunktionen und
und benötigt daher diese Funktionen, auch wenn
entsprechende <uses-feature>
-Deklarationen. Für solche
fügt Google Play die zugrunde liegenden Hardwarefunktionen zum
Metadaten, die für die Anwendung gespeichert werden, und richtet Filter für sie ein.
Wenn eine Anwendung beispielsweise die Berechtigung CAMERA
anfordert,
Google Play geht davon aus, dass für die App auch
wenn die App kein <uses-feature>
-Element für
android.hardware.camera
Daher filtert Google Play Geräte,
die keine Rückkamera haben.
Wenn Sie nicht möchten, dass Google Play nach bestimmten impliziten
Funktion explizit in einem <uses-feature>
deklarieren
-Element und fügen Sie das android:required="false"
-Attribut hinzu. Für
Um beispielsweise die Filterung impliziert mit der Berechtigung CAMERA
zu deaktivieren,
die folgenden Funktionen deklarieren:
<uses-feature android:name="android.hardware.camera" android:required="false" /> <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
Achtung:Berechtigungen, die Sie in
<uses-permission>
-Elemente können sich direkt auf die
Google Play filtert deine App. Die
Im Abschnitt Berechtigungen, die Funktionsanforderungen voraussetzen, werden die
vollständige Berechtigungen, die Funktionsanforderungen voraussetzen und somit auslösen
Filterung.
Besondere Handhabung der Bluetooth-Funktion
Google Play wendet etwas andere Regeln an als im vorherigen Beispiel beschrieben, wenn die Filterung für Bluetooth.
Wenn eine App eine Bluetooth-Berechtigung in einem
<uses-permission>
-Element, wird aber nicht explizit deklariert
die Bluetooth-Funktion in einem <uses-feature>
-Element, Google
Google Play prüft die Versionen der Android-Plattform, auf der die App installiert ist.
ausgeführt werden soll, wie im Element <uses-sdk>
angegeben.
Wie in der folgenden Tabelle dargestellt, aktiviert Google Play die Filterung für
Bluetooth-Funktion nur, wenn die App die niedrigste oder gezieltere
als Android 2.0 (API-Level 5) oder höher. Beachten Sie jedoch, dass Google
Play wendet die normalen Filterregeln an, wenn die App
deklariert die Bluetooth-Funktion in einem <uses-feature>
-Element.
Tabelle 1 So bestimmt Google Play
Anforderungen an Bluetooth-Funktionen für Apps, die Bluetooth anfordert
ohne die Bluetooth-Funktion in einem
<uses-feature>
-Element.
minSdkVersion ... |
targetSdkVersion ist |
Ergebnis |
---|---|---|
<uses-sdk> ist nicht deklariert |
<= 4 | Google Play filtert Apps nicht auf Geräten heraus.
basierend auf ihrer gemeldeten Unterstützung für android.hardware.bluetooth
. |
<= 4 | ≥ 5 | Google Play filtert die App auf allen Geräten, die die Funktion android.hardware.bluetooth nicht unterstützen, einschließlich
ältere Releases). |
≥ 5 | ≥ 5 |
Die folgenden Beispiele veranschaulichen die verschiedenen Filtereffekte, je nachdem, Google Play übernimmt die Bluetooth-Funktion.
<ph type="x-smartling-placeholder">- </ph>
Im ersten Beispiel: eine Anwendung, die für die Ausführung auf älteren API-Ebenen entwickelt wurde.
deklariert eine Bluetooth-Berechtigung, ohne die Bluetooth-Funktion in einem
- Ergebnis:Google Play filtert die App auf keinem Gerät heraus.
<uses-feature>
-Element.
<manifest ...> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-sdk android:minSdkVersion="3" /> ... </manifest><ph type="x-smartling-placeholder">
- </ph>
Im zweiten Beispiel deklariert dieselbe Anwendung auch
API-Level von "5".
- Ergebnis:Google Play geht jetzt davon aus, dass die Funktion erforderlich ist und filtert die App nach allen Geräten, die keine Bluetooth-Unterstützung bieten, darunter auch Geräte mit älteren Versionen der Plattform.
<manifest ...> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" /> ... </manifest><ph type="x-smartling-placeholder">
- </ph>
Hier deklariert dieselbe App jetzt speziell die Bluetooth-Funktion.
- Ergebnis: Identisch mit dem vorherigen Beispiel: Es wird eine Filterung angewendet.
<manifest ...> <uses-feature android:name="android.hardware.bluetooth" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" /> ... </manifest><ph type="x-smartling-placeholder">
- </ph>
Im folgenden Fall fügt dieselbe Anwendung ein
- Ergebnis:Google Play deaktiviert die Filterung auf Grundlage von Bluetooth werden auf allen Geräten unterstützt.
android:required="false"
-Attribut.
<manifest ...> <uses-feature android:name="android.hardware.bluetooth" android:required="false" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-sdk android:minSdkVersion="3" android:targetSdkVersion="5" /> ... </manifest>
Für Ihre Anwendung erforderliche Funktionen testen
Du kannst das aapt2
-Tool verwenden, das im Android SDK enthalten ist, um
Bestimmen Sie, wie Google Play Ihre App anhand der deklarierten
Funktionen und Berechtigungen. Führen Sie dazu aapt2
mit dem Befehl dump
badging
aus. Dies führt dazu, dass aapt2
Ihren
App-Manifests aus und wenden dieselben Regeln an, die auch Google Play für
die Funktionen ermitteln, die Ihre Anwendung benötigt.
So verwenden Sie das Tool:
- Erstelle und exportiere deine App als nicht signiertes APK.
Wenn Sie in Android Studio entwickeln, erstellen Sie Ihre App so mit Gradle:
<ph type="x-smartling-placeholder">
- </ph>
- Öffnen Sie das Projekt und wählen Sie Ausführen > Konfigurationen bearbeiten.
- Klicken Sie auf das Pluszeichen oben links im Menü Run/Debug Konfigurationen.
- Wählen Sie Gradle aus.
- Geben Sie „Nicht signiertes APK“ ein. unter Name.
- Wählen Sie Ihr Modul im Abschnitt Gradle-Projekt aus.
- Geben Sie „Zusammenstellen“ ein in Tasks.
- Wählen Sie OK aus, um die neue Konfiguration abzuschließen.
- Achten Sie darauf, dass die Ausführungskonfiguration Nicht signiertes APK ausgewählt ist in der Symbolleiste und wählen Sie dann Ausführen > Führen Sie „Nicht signiertes APK“ aus.
<ProjectName>/app/build/outputs/apk/
-Verzeichnis. - Suchen Sie das
aapt2
-Tool, falls es sich noch nicht in Ihrem PATH befindet. Wenn Sie SDK Tools Version 8 oder höher verwenden, finden Sieaapt2
in der<SDK>/build-tools/<tools version number>
-Verzeichnis.Hinweis: Sie müssen die Version von
aapt2
, die für die neueste verfügbare Build-Tools-Komponente bereitgestellt wird. Wenn Wenn Sie nicht über die neueste Build-Tools-Komponente verfügen, laden Sie sie mit dem Android SDK Manager herunter. - Führen Sie
aapt2
mit dieser Syntax aus:
$ aapt2 dump badging <path_to_exported_.apk>
Hier ist ein Beispiel für die Befehlsausgabe für das zweite gezeigte Bluetooth-Beispiel: zuvor:
$ ./aapt2 dump badging BTExample.apk package: name='com.example.android.btexample' versionCode='' versionName='' uses-permission:'android.permission.BLUETOOTH_ADMIN' uses-feature:'android.hardware.bluetooth' sdkVersion:'3' targetSdkVersion:'5' application: label='BT Example' icon='res/drawable/app_bt_ex.png' launchable activity name='com.example.android.btexample.MyActivity'label='' icon='' uses-feature:'android.hardware.touchscreen' main supports-screens: 'small' 'normal' 'large' locales: '--_--' densities: '160'
Funktionsreferenz
Die folgenden Abschnitte enthalten Referenzinformationen zu Hardwarefunktionen, Softwarefunktionen und Berechtigungssätze, die eine bestimmte Funktion implizieren Anforderungen.
Hardwarefunktionen
In diesem Abschnitt werden die Hardwarefunktionen beschrieben, die von den neuesten
Plattformrelease. Um darauf hinzuweisen, dass Ihre App Hardware verwendet oder erfordert
Funktion, deklarieren Sie den entsprechenden Wert, beginnend mit
"android.hardware"
in einem android:name
-Attribut.
Verwenden Sie jedes Mal, wenn Sie eine Hardwarefunktion deklarieren, eine separate
<uses-feature>
-Element.
Funktionen der Audiohardware
-
android.hardware.audio.low_latency
- Die App nutzt die Audiopipeline mit niedriger Latenz des Geräts, um Verzögerungen und bei der Verarbeitung der Ein- und Ausgabe von Ton.
-
android.hardware.audio.output
- Die App überträgt Geräusche über die Lautsprecher, den Audioanschluss des Geräts und Bluetooth Streamingfunktionen oder einen ähnlichen Mechanismus.
-
android.hardware.audio.pro
- Die App nutzt die High-End-Audiofunktion und -leistung des Geräts Funktionen.
-
android.hardware.microphone
- Die App nimmt Audio über das Mikrofon des Geräts auf.
Bluetooth-Hardwarefunktionen
-
android.hardware.bluetooth
- Die App verwendet die Bluetooth-Funktionen des Geräts, um in der Regel mit andere Bluetooth-fähige Geräte.
-
android.hardware.bluetooth_le
- Die App verwendet die Bluetooth Low Energy-Funkfunktionen des Geräts.
Funktionen der Kamerahardware
Hinweis:Damit Ihre App nicht unnötig gefiltert wird,
Google Play, füge android:required="false"
zu jeder Kamerafunktion hinzu
ohne dass Ihre App funktioniert. Andernfalls geht Google Play davon aus,
erforderlich ist, und verhindert, dass Geräte, die diese Funktion nicht unterstützen, auf Ihren
Unterstützung für große Bildschirme
Einige Geräte mit großen Bildschirmen unterstützen nicht alle Kamerafunktionen. Chromebooks haben normalerweise keine Rückkameras, keinen Autofokus und keinen Blitz. Aber Chromebooks haben Frontkameras (für den Nutzer sichtbare) und sind oft mit externen Kameras.
Um grundlegende Kamera-Unterstützung zu bieten und deine App für möglichst viele Nutzer verfügbar zu machen wie möglich, fügen Sie Ihrer App die folgenden Einstellungen für Kamerafunktionen hinzu Manifest:
<uses-feature android:name="android.hardware.camera.any" android:required="false" /> <uses-feature android:name="android.hardware.camera" android:required="false" /> <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" /> <uses-feature android:name="android.hardware.camera.flash" android:required="false" />
Passe die Funktionseinstellungen an die Anwendungsfälle deiner App an. Um aber dafür zu sorgen,
für möglichst viele Geräte verfügbar ist, sollte immer die
required
-Attribut, das explizit angibt, ob ein Element ein
ein Muss.
Funktionsliste
-
android.hardware.camera.any
-
Die App verwendet eine der Kameras des Geräts oder eine externe Kamera, die mit auf dem Gerät. Diese Funktion statt
android.hardware.camera
verwenden oderandroid.hardware.camera.front
, wenn die App nicht muss die Kamera rückwärts (weltweit) oder nach vorne (zum Nutzer) gerichtet sein, .Die Berechtigung „
CAMERA
“ bedeutet, dass deine App auchandroid.hardware.camera
. Rückkamera ist erforderlich Feature, es sei denn,android.hardware.camera
wird deklariert mitandroid:required="false"
. -
android.hardware.camera
-
Die App verwendet die Rückkamera des Geräts, also die nach außen gerichtete Kamera.
Achtung:Bei Geräten wie Chromebooks mit nur eine Frontkamera (für den Nutzer sichtbar) unterstützt diese Funktion nicht. Verwenden Sie
android.hardware.camera.any
, wenn deine App jede beliebige Kamera verwenden kann, egal in welche Richtung die Kamera zeigt.Hinweis: Das
CAMERA
impliziert, dass eine Rückkamera erforderlich ist. Um sicherzustellen, bei Google Play richtig filtern, wenn Ihr App-Manifest das BerechtigungCAMERA
, gibst du explizit an, dass deine App die Funktioncamera
und geben an, ob sie erforderlich ist, z. B.:
<uses-feature android:name="android.hardware.camera" android:required="false" />
-
android.hardware.camera.front
-
Die App verwendet die Frontkamera (für den Nutzer sichtbar) des Geräts.
Die Berechtigung „
CAMERA
“ bedeutet, dass deine App auchandroid.hardware.camera
. Rückkamera ist erforderlich Feature, es sei denn,android.hardware.camera
wird deklariert mitandroid:required="false"
.Achtung:Wenn in Ihrer App
android.hardware.camera.front
, gibt aber nicht explizit an,android.hardware.camera
mitandroid.required="false"
, Geräte ohne Rückseite Kamera (wie Chromebooks) werden von Google Play gefiltert. Wenn Ihre App Geräte mit Frontkameras verwenden, deklarieren Sieandroid.hardware.camera
mitandroid.required="false"
, um unnötige Filterung zu vermeiden. -
android.hardware.camera.external
-
Die App kommuniziert mit einer externen Kamera, mit der der Nutzer verbunden ist. . Diese Funktion garantiert nicht, dass eine externe Kamera verfügbar ist für Ihre App.
Die Berechtigung „
CAMERA
“ bedeutet, dass deine App auchandroid.hardware.camera
. Rückkamera ist erforderlich Feature, es sei denn,android.hardware.camera
wird deklariert mitandroid:required="false"
. -
android.hardware.camera.autofocus
-
Die App verwendet die Autofokusfunktion, die von der Kamera des Geräts unterstützt wird.
Hinweis: Das
CAMERA
impliziert, dass der Autofokus eine erforderliche Funktion ist. Um eine ordnungsgemäße Filterung bei Google Play, wenn dein App-Manifest dasCAMERA
, explizit anzugeben, dass deine App die Autofokus-Funktion und geben an, ob sie erforderlich ist oder nicht, Beispiel:
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
-
android.hardware.camera.flash
-
Die App verwendet die Blitzfunktion, die von der Kamera des Geräts unterstützt wird.
-
android.hardware.camera.capability.manual_post_processing
-
Die App verwendet die
MANUAL_POST_PROCESSING
-Funktion, die unterstützt wird von die Kamera des Geräts.Mit dieser Funktion kann deine App den automatischen Weißabgleich der Kamera überschreiben Funktionalität.
android.colorCorrection.transform
verwenden,android.colorCorrection.gains
und einandroid.colorCorrection.mode
vonTRANSFORM_MATRIX
. -
android.hardware.camera.capability.manual_sensor
-
Die App verwendet die
MANUAL_SENSOR
-Funktion, die vom in die Kamera des Geräts.Diese Funktion unterstützt die automatische Belichtungssperre (
android.control.aeLock
), mit der die Belichtung der Kamera und Sensibilität, um bestimmte Werte festzuhalten. -
android.hardware.camera.capability.raw
-
Die App verwendet die
RAW
-Funktion, die vom Kamera.Diese Funktion setzt voraus, dass das Gerät DNG-Dateien (Rohdateien) speichern kann. Die stellt die Kamera Ihres Geräts die für Ihren um die Rohbilder direkt zu verarbeiten.
-
android.hardware.camera.level.full
-
Die App nutzt die verfügbare Unterstützung für die Bilderfassung (
FULL
) von mindestens einer der Gerätekameras. DerFULL
-Support umfasst Funktionen für Burst-Aufnahmen, Steuerung pro Frame und manuelle Nachbearbeitung Steuerung. Weitere Informationen finden Sie unter <ph type="x-smartling-placeholder"></ph>INFO_SUPPORTED_HARDWARE_LEVEL_FULL
Hardwarefunktionen der Geräte-UI
-
android.hardware.type.automotive
-
Die App ist so konzipiert, dass ihre Benutzeroberfläche auf mehreren Bildschirmen in einem Fahrzeug angezeigt wird. Der Nutzer interagiert mit der App über feste Tasten, Berührungen, Drehungen Controllern und mausähnlichen Benutzeroberflächen. Die Bildschirme des Fahrzeugs in der Mittelkonsole oder im Kombi-Instrument eines Fahrzeugs erscheinen. Diese Bildschirme meist eine begrenzte Größe und Auflösung haben.
Hinweis : Da der Nutzer bei Verwendung dieser Art von App-Benutzeroberfläche fährt, muss die App Ablenkung.
-
android.hardware.type.television
-
(Eingestellt; verwenden Sie
android.software.leanback
.)Die App ist so konzipiert, dass ihre Benutzeroberfläche auf einem Fernseher gezeigt wird. Mit dieser Funktion wird "fernseher" als typisches Fernseherlebnis im Wohnzimmer: Die App zeigt großen Bildschirm, die nutzende Person weit weg, und die dominante Form dass es sich bei der Eingabe um ein Steuerkreuz und nicht wie eine Maus handelt, Zeiger oder Touchgerät.
-
android.hardware.type.watch
- Die App ist so konzipiert, dass ihre Benutzeroberfläche auf einer Uhr angezeigt wird. Eine Uhr wird am Körper getragen wie am Handgelenk. Die nutzende Person befindet sich sehr nah am Gerät, während damit interagieren.
-
android.hardware.type.pc
-
Die App ist so konzipiert, dass ihre Benutzeroberfläche auf Chromebooks angezeigt wird. Durch diese Funktion wird Folgendes deaktiviert: Eingabeemulation für Maus und Touchpad, da Chromebooks Touchpad-Hardware. Weitere Informationen finden Sie unter Maus Eingabe.
Hinweis: Legen Sie
required="false"
für diese element; Andernfalls ist Ihre App im Google Play Store für Geräte nicht verfügbar. als Chromebooks.
Funktionen der Fingerabdruckhardware
-
android.hardware.fingerprint
- Die App liest Fingerabdrücke über die biometrische Hardware des Geräts.
Funktionen der Gamepad-Hardware
-
android.hardware.gamepad
- Die App erfasst Controller-Eingaben, entweder vom Gerät selbst über ein verbundenes Gamepad.
Funktionen der Infrarot-Hardware
-
android.hardware.consumerir
- Die App nutzt die Infrarotfunktionen des Geräts, um in der Regel mit anderen IR-Geräten für Verbraucher.
Funktionen der Standorthardware
-
android.hardware.location
- Die App verwendet eine oder mehrere Funktionen des Geräts, um den Standort zu bestimmen, wie GPS-Standort, Netzwerk- oder Mobilfunkstandort.
-
android.hardware.location.gps
-
Die App verwendet genaue Standortkoordinaten, die von einer globalen GPS-Empfänger (Positioning System) am Gerät.
Durch die Nutzung dieser Funktion impliziert eine App, dass sie auch die
android.hardware.location
Feature, es sei denn, dieses übergeordnete Element wird mit dem Attributandroid:required="false"
. -
android.hardware.location.network
-
Die App verwendet ungefähre Standortkoordinaten von einem netzwerkbasierten System zur Standortbestimmung, das auf dem Gerät unterstützt wird.
Durch die Nutzung dieser Funktion impliziert eine App, dass sie auch die
android.hardware.location
Feature, es sei denn, dieses übergeordnete Element wird mit dem Attributandroid:required="false"
.
NFC-Hardwarefunktionen
-
android.hardware.nfc
- Die App verwendet die NFC-Funkfunktionen des Geräts.
-
android.hardware.nfc.hce
-
Die App verwendet die NFC-Kartenemulation, die auf dem Gerät gehostet wird.
OpenGL ES-Hardwarefunktionen
-
android.hardware.opengles.aep
- Für die App wird das installierte OpenGL ES Android Extension Pack verwendet auf dem Gerät.
Funktionen der Sensorhardware
-
android.hardware.sensor.accelerometer
- Die App nutzt die Bewegungsmessungen des Beschleunigungsmessers des Geräts, um zu erkennen, aktuellen Ausrichtung des Geräts angezeigt. Eine App könnte beispielsweise Messwerte des Beschleunigungsmessers, um festzustellen, wann zwischen Hochformat und Querformat verwenden.
-
android.hardware.sensor.ambient_temperature
- Die App verwendet den Umgebungstemperatur-Sensor des Geräts. Für Beispielsweise kann eine Wetter-App die Innen- oder Außentemperatur melden.
-
android.hardware.sensor.barometer
- Die App verwendet das Barometer des Geräts. Eine Wetter-App könnte z. B. den Luftdruck melden.
-
android.hardware.sensor.compass
- Die App verwendet das Magnetometer des Geräts (Kompass). Zum Beispiel könnte eine Navigation die aktuelle Richtung eines Nutzers anzeigen kann.
-
android.hardware.sensor.gyroscope
- Die App nutzt das Gyroskop des Geräts, um Drehung und Verdrehung zu erkennen. ein sechsachsiges Ausrichtungssystem. Mit diesem Sensor kann eine App mehr zwischen Hoch- und Querformat wechseln zu können. Ausrichtungen.
-
android.hardware.sensor.hifi_sensors
- Die App verwendet die High-Fidelity-Sensoren (Hi-Fi) des Geräts. Beispiel: die hochpräzise Bewegungen des Nutzers erkannt werden.
-
android.hardware.sensor.heartrate
- Die App verwendet den Herzfrequenzmesser des Geräts. Beispiel: Eine Fitness-App kann Trends bei der Herzfrequenz der Nutzenden im Laufe der Zeit erfassen.
-
android.hardware.sensor.heartrate.ecg
- Die App verwendet den Elektrokardiogramm (EKG)-Herzfrequenzsensor des Geräts. Für kann eine Fitness-App ausführlichere Informationen die Herzfrequenz der Nutzenden.
-
android.hardware.sensor.light
- Die App verwendet den Lichtsensor des Geräts. Eine App kann beispielsweise eines von zwei Farbschemata, die sich an der Umgebungsbeleuchtung orientieren. .
-
android.hardware.sensor.proximity
- Die App verwendet den Näherungssensor des Geräts. Beispiel: Eine Telefonie-App schaltet möglicherweise den Bildschirm des Geräts aus, wenn die App erkennt, dass der Nutzer das Gerät nah am Körper halten.
-
android.hardware.sensor.relative_humidity
- Die App verwendet den Sensor für die relative Luftfeuchtigkeit des Geräts. Zum Beispiel wird die Wettervorhersage Die App kann die Luftfeuchtigkeit verwenden, um den aktuellen Taupunkt zu berechnen und Berichte darüber zu erstellen.
-
android.hardware.sensor.stepcounter
- Die App verwendet den Schrittzähler des Geräts. Eine Fitness-App könnte z. B. Berichte über die Anzahl der Schritte, die Nutzende ausführen müssen, um ihren täglichen Schritt zu erreichen Zählziel
-
android.hardware.sensor.stepdetector
- Die App verwendet die Schritterkennung des Geräts. Eine Fitness-App könnte z. B. aus dem Zeitintervall zwischen Schritten ableiten, welche Art von Training was die Nutzenden tun.
Funktionen der Bildschirmhardware
-
android.hardware.screen.landscape
-
android.hardware.screen.portrait
-
Für die App muss das Gerät im Hoch- oder Querformat verwendet werden. Wenn Ihre App beide Ausrichtungen unterstützt, müssen Sie einer der beiden Funktionen.
Wenn für Ihre App beispielsweise das Hochformat erforderlich ist, die folgende Funktion deklarieren, damit nur Geräte, Hochformat immer oder je nach Nutzerauswahl, können Sie Ihre App ausführen:
<uses-feature android:name="android.hardware.screen.portrait" />
Es wird davon ausgegangen, dass beide Ausrichtungen nicht standardmäßig erforderlich sind, damit Ihre App Installation auf Geräten, die eine oder beide Ausrichtungen unterstützen. Wenn jedoch Bei jeder Aktivität ist es erforderlich, dass sie in einer bestimmten Ausrichtung laufen,
android:screenOrientation
verwendet, impliziert diese Deklaration dass Ihre App diese Ausrichtung erfordert.Wenn Sie beispielsweise
android:screenOrientation
entweder"landscape"
,"reverseLandscape"
oder"sensorLandscape"
enthält, dann ist deine App Nur auf Geräten verfügbar, die das Querformat unterstützen.Deklarieren Sie als Best Practice Ihre Anforderung für dieses Ausrichtung mithilfe eines
<uses-feature>
-Elements. Wenn Sie eine Orientierung für Ihre Aktivität mitandroid:screenOrientation
zu erhalten. tatsächlich benötigen, können Sie deaktivieren Sie die Anforderung, indem Sie die Ausrichtung mit einem<uses-feature>
-Element deklarieren undandroid:required="false"
einschließen.Aus Gründen der Abwärtskompatibilität: alle Geräte mit Android 3.1 (API-Level 12) und niedriger unterstützt sowohl das Quer- als auch das Hochformat.
Funktionen der Telefoniehardware
-
android.hardware.telephony
- Die App verwendet die Telefoniefunktionen des Geräts, z. B. Telefoniefunktionen mit von Datenkommunikationsdiensten.
-
android.hardware.telephony.cdma
-
Die App verwendet CDMA-Telefoniefunktionen (Code Division Multiple Access) System.
Durch die Nutzung dieser Funktion impliziert eine App, dass sie auch die
android.hardware.telephony
Feature, es sei denn, dieses übergeordnete Element Feature mitandroid:required="false"
deklariert ist. -
android.hardware.telephony.gsm
-
Die App verwendet das Global System for Mobile Communications (GSM) Funksystem.
Durch die Nutzung dieser Funktion impliziert eine App, dass sie auch die
android.hardware.telephony
Feature, es sei denn, dieses übergeordnete Element Feature mitandroid:required="false"
deklariert ist.
Touchscreen-Hardwarefunktionen
-
android.hardware.faketouch
-
Die App nutzt grundlegende Touch-Interaktionsereignisse wie Tippen und durch Ziehen verschieben.
Wenn diese Funktion als erforderlich deklariert ist, gibt sie an, dass die App Nur mit einem Gerät kompatibel, wenn dieses Gerät eine emulierte „Fake-Touch-Berührung“ hat oder einen echten Touchscreen hat.
Ein Gerät mit einer gefälschten Touch-Oberfläche bietet ein Nutzereingabesystem. die einen Teil der Touchscreenfunktionen emuliert. Beispiel: Maus oder Fernbedienung möglicherweise einen Cursor auf dem Bildschirm an.
Wenn Ihre App erfordert eine einfache Punkt- und Klickinteraktion und funktioniert nicht nur mit einem Steuerkreuz handelt, deklarieren Sie diese Funktion. Weil Das ist die minimale Touch-Interaktion. Sie können auch eine App verwenden, die diese Funktion auf Geräten mit komplexerer Touchbedienung deklariert. Schnittstellen.
Apps benötigen die Die Funktion „
android.hardware.faketouch
“ ist standardmäßig aktiviert. Bei Bedarf auf Geräten mit Touchscreen zu beschränken, wie folgt explizit an, dass der Touchscreen erforderlich ist:<uses-feature android:name="android.hardware.touchscreen" android:required="true" />
Alle Apps, die nicht explizit
android.hardware.touchscreen
, wie im folgenden Beispiel gezeigt, funktionieren auf Geräten mitandroid.hardware.faketouch
.<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
-
android.hardware.faketouch.multitouch.distinct
-
Die App trackt zwei oder mehr unterschiedliche Finger auf einer gefälschten Touchoberfläche. Dies ist eine Obermenge von
android.hardware.faketouch
. Wenn diese Funktion als erforderlich deklariert ist, gibt sie an, dass die App nur dann mit einem Gerät kompatibel ist, wenn dieses Gerät verschiedene Tracking mit zwei oder mehr Fingern oder verfügt über einen Touchscreen.Im Gegensatz zu den von
android.hardware.touchscreen.multitouch.distinct
definierten Multi-Touchpoint-Funktionen, Unterstützung unterschiedlicher Multi-Touch-Funktionen mit einer gefälschten Touch-Oberfläche, unterstützt nicht alle Touch-Gesten mit zwei Fingern, da die Eingabe in die Cursorbewegung umgewandelt wird. auf dem Bildschirm. Das heißt, dass Touch-Gesten mit einem Finger auf einem solchen Gerät Cursor, Wischbewegungen mit zwei Fingern führen zu Berührungsereignissen mit einem Finger und Andere Zweifinger-Touch-Gesten lösen die entsprechende Zwei-Finger-Berührung aus. Ereignisse.Gerät, das ein Touchpad mit zwei Fingern für die Cursorbewegung bietet diese Funktion unterstützen.
-
android.hardware.faketouch.multitouch.jazzhand
-
Die App erfasst fünf oder mehr verschiedene Finger auf einer gefälschten Touchoberfläche. Dies ist eine Obermenge von
android.hardware.faketouch
. Wenn diese Funktion als erforderlich deklariert ist, gibt sie an, dass die App nur dann mit einem Gerät kompatibel ist, wenn dieses Gerät verschiedene Tracking von fünf oder mehr Fingern oder verfügt über einen Touchscreen.Im Gegensatz zu den von
android.hardware.touchscreen.multitouch.jazzhand
definierten Multi-Touchpoint-Funktionen, unterstützen Jazzhand Multitouch mit einer gefälschten Touch-Oberfläche nicht unterstützen alle 5-Finger-Gesten, da die Eingabe in die Cursorbewegung umgewandelt wird. auf dem Bildschirm. Das heißt, dass Touch-Gesten mit einem Finger auf einem solchen Gerät Touch-Gesten mit mehreren Fingern führen zu Touch-Ereignissen mit einem Finger, und andere Touchgesten mit mehreren Fingern lösen den entsprechenden Mehrfinger-Touchscreen aus. Touch-Events.Gerät, das ein Touchpad mit fünf Fingern für die Cursorbewegung bietet diese Funktion unterstützen.
-
android.hardware.touchscreen
-
Die App nutzt die Touchscreen-Funktionen des Geräts für Touch-Gesten, interaktiver als einfache Touch-Events, wie etwa ein Fling. Dies ist ein Obermenge der Funktion
android.hardware.faketouch
.Diese Funktion ist für alle Apps standardmäßig erforderlich. für Geräte verfügbar, die nur eine emulierte "falsche" Berührung bieten . Du kannst deine App auf Geräten verfügbar machen gefälschte Touchoberfläche oder sogar auf Geräten, die nur mit einem Steuerkreuz, indem explizit erklärt wird, nicht erforderlich bei Verwendung von
android.hardware.touchscreen
mitandroid:required="false"
. Fügen Sie diese Deklaration hinzu, wenn eine echte Touchscreen-Benutzeroberfläche nutzt, braucht sie aber keine. Alle Apps, die nicht explizitandroid.hardware.touchscreen
funktioniert auch auf Geräten mitandroid.hardware.faketouch
.Wenn Ihre App eine Touchoberfläche benötigt, um beispielsweise Touch-Gesten wie Flings, erfordert keine Berührungserkennung Funktionen der Benutzeroberfläche, da diese standardmäßig benötigt werden. Es ist jedoch wenn Sie alle Funktionen, die Ihre App nutzt, explizit deklarieren.
Wenn du eine komplexere Touchbedienung benötigst, z. B. mit mehreren Fingern Gesten verwenden, gib an, dass in deiner App ein erweiterter Touchscreen verwendet wird Funktionen.
-
android.hardware.touchscreen.multitouch
-
Die App nutzt die grundlegenden Zwei-Punkt-Multi-Touch-Funktionen des Geräts, z. B. Auseinander- und Zusammenziehen der Finger, aber die App muss keine Berührungen erfassen. unabhängig voneinander unterscheiden. Dies ist eine Obermenge von Funktion „
android.hardware.touchscreen
“.Durch die Nutzung dieser Funktion impliziert eine App, dass sie auch die
android.hardware.touchscreen
Feature, es sei denn, dieses übergeordnete Element Feature mitandroid:required="false"
deklariert ist. -
android.hardware.touchscreen.multitouch.distinct
-
Die App nutzt die erweiterten Multi-Touch-Funktionen des Geräts für das Tracking zwei oder mehr Punkte unabhängig voneinander. Diese Funktion ist eine Obermenge des Funktion „
android.hardware.touchscreen.multitouch
“.Durch die Nutzung dieser Funktion impliziert eine App, dass sie auch die
android.hardware.touchscreen.multitouch
Feature, es sei denn, Parent-Feature wird mitandroid:required="false"
deklariert. -
android.hardware.touchscreen.multitouch.jazzhand
-
Die App nutzt die erweiterten Multi-Touch-Funktionen des Geräts für das Tracking unabhängig von fünf oder mehr Punkten. Diese Funktion ist eine Obermenge des Funktion „
android.hardware.touchscreen.multitouch
“.Durch die Nutzung dieser Funktion impliziert eine App, dass sie auch die
android.hardware.touchscreen.multitouch
Feature, es sei denn, Parent-Feature wird mitandroid:required="false"
deklariert.
USB-Hardware-Funktionen
-
android.hardware.usb.accessory
- Die App verhält sich wie ein USB-Gerät und stellt eine Verbindung zu USB-Hosts her.
-
android.hardware.usb.host
- Die App verwendet das mit dem Gerät verbundene USB-Zubehör. Die als USB-Host dient.
Vulkan-Hardwarefunktionen
-
android.hardware.vulkan.compute
-
Die App verwendet Vulkan-Computing-Funktionen. Diese Funktion gibt an, dass für die App die hardwarebeschleunigte
Vulkan-Implementierung Die Funktionsversion gibt an, auf welcher Stufe der optionalen
Rechenfunktionen, die die App benötigt, die über die Anforderungen von Vulkan 1.0 hinausgehen. Wenn Ihre App zum Beispiel
Unterstützung von Vulkan-Compute-Level 0 erforderlich. Deklarieren Sie die folgende Funktion:
<uses-feature android:name="android.hardware.vulkan.compute" android:version="0" android:required="true" />
Weitere Informationen zur Featureversion finden Sie unterFEATURE_VULKAN_HARDWARE_COMPUTE
. -
android.hardware.vulkan.level
-
In der App werden Funktionen des Vulkan-Levels verwendet. Diese Funktion gibt an, dass für die App die
hardwarebeschleunigte Vulkan-Implementierung Die Funktionsversion gibt an, auf welcher Stufe der optionalen
Hardwarefunktionen, die die App benötigt. Beispiel: Wenn für deine App Vulkan-Hardwarestufe 0 erforderlich ist
Support, erklären Sie die folgende Funktion:
<uses-feature android:name="android.hardware.vulkan.level" android:version="0" android:required="true" />
Weitere Informationen zur Featureversion finden Sie unterFEATURE_VULKAN_HARDWARE_LEVEL
. -
android.hardware.vulkan.version
-
Die App verwendet Vulkan. Diese Funktion gibt an, dass für die App die hardwarebeschleunigte
Vulkan-Implementierung Die Version der Funktion gibt die Mindestversion des Vulkan API-Supports an.
die für die App erforderlich sind. Wenn für deine App beispielsweise die Unterstützung von Vulkan 1.0 erforderlich ist, deklariere die
folgende Funktion:
<uses-feature android:name="android.hardware.vulkan.version" android:version="0x400003" android:required="true" />
Weitere Informationen zur Featureversion finden Sie unterFEATURE_VULKAN_HARDWARE_VERSION
.
Funktionen der WLAN-Hardware
-
android.hardware.wifi
- Die App verwendet 802.11-Netzwerkfunktionen (WLAN) auf dem Gerät.
-
android.hardware.wifi.direct
- Die App verwendet die Wi-Fi Direct-Netzwerkfunktionen auf dem Gerät.
Softwarefunktionen
In diesem Abschnitt werden die Softwarefunktionen vorgestellt, die von den neuesten
Plattformrelease. Um darauf hinzuweisen, dass Ihre App eine Software verwendet oder erfordert
Funktion, deklarieren Sie den entsprechenden Wert, beginnend mit
"android.software"
in einem android:name
-Attribut.
Verwenden Sie für jede Deklaration einer Softwarefunktion eine separate
<uses-feature>
-Element.
Funktionen der Kommunikationssoftware
-
android.software.sip
- Die Anwendung verwendet SIP-Dienste (Session Initiation Protocol). Durch die Verwendung von SIP Anwendung kann Internettelefonievorgänge wie Videokonferenzen unterstützen und Instant Messaging.
-
android.software.sip.voip
-
Die App verwendet SIP-basierte VoIP-Dienste (Voice Over Internet Protocol). Von über VoIP ermöglicht die App Internettelefonie in Echtzeit, z. B. bei bidirektionalen Videokonferenzen.
Durch die Nutzung dieser Funktion impliziert eine App, dass sie auch die
android.software.sip
Feature, es sei denn, dieses übergeordnete Element ist mitandroid:required="false"
deklariert. -
android.software.webview
- Die App zeigt Inhalte aus dem Internet an.
Benutzerdefinierte Funktionen der Eingabesoftware
-
android.software.input_methods
-
Die App verwendet eine neue Eingabemethode, die vom Entwickler in einem
InputMethodService
definiert wird.
Funktionen der Software zur Geräteverwaltung
-
android.software.backup
- Die Anwendung enthält Logik für die Verarbeitung eines Sicherungs- und Wiederherstellungsvorgangs.
-
android.software.device_admin
- Die App verwendet Geräteadministratoren, um Geräterichtlinien zu erzwingen.
-
android.software.managed_users
- Die Anwendung unterstützt sekundäre Nutzer und verwaltete Profile.
-
android.software.securely_removes_users
- Die App kann Nutzer und ihre verknüpften dauerhaft entfernen. Daten.
-
android.software.verified_boot
- Die App enthält eine Logik zur Verarbeitung von Ergebnissen aus dem verifizierten Bootmodus des Geräts. verwendet, die erkennt, ob sich die Konfiguration des Geräts während eines neu starten.
Funktionen der Mediensoftware
-
android.software.midi
- Die App verbindet sich mit Musikinstrumenten oder gibt über das Musical MIDI-Protokoll (Instrument Digital Interface)
-
android.software.print
- Die App enthält Befehle zum Drucken von Dokumenten, die auf dem Gerät angezeigt werden.
-
android.software.leanback
- Die App wurde für Android TV-Geräte entwickelt.
-
android.software.live_tv
- Die App streamt Live-Fernsehprogramme.
Softwarefunktionen für die Bildschirmoberfläche
-
android.software.app_widgets
- Die App verwendet oder stellt App-Widgets zur Verfügung und ist nur für Geräte mit einem Startbildschirm oder einem ähnlichen Ort, an dem Nutzer App Widgets einzubetten.
-
android.software.home_screen
- Die App fungiert als Ersatz für den Startbildschirm des Geräts.
-
android.software.live_wallpaper
- Die App verwendet Hintergründe, die Animationen enthalten, oder stellt diese zur Verfügung.
Berechtigungen, die bestimmte Funktionsanforderungen erfordern
Einige Hardware- und Softwarefunktionskonstanten werden
nach der entsprechenden API hinzufügen. Aus diesem Grund verwenden einige Apps die API möglicherweise schon vor
können sie mithilfe des
<uses-feature>
-System.
Um zu verhindern, dass diese Apps unbeabsichtigt verfügbar gemacht werden, hat Google Play
geht davon aus, dass bestimmte hardwarebezogene Berechtigungen darauf hinweisen,
zugrunde liegende Hardwarefunktionen sind standardmäßig erforderlich. Beispiel:
Apps, die Bluetooth verwenden, müssen den BLUETOOTH
anfordern
in einem <uses-permission>
-Element.
Für ältere Versionen
Apps gehören, geht Google Play davon aus, dass die Erklärung zu Berechtigungen bedeutet, dass die
zugrunde liegendes android.hardware.bluetooth
-Feature ist vom
und richtet die Filterung auf der Grundlage dieser Funktion ein. Tabelle 2: Listen
Berechtigungen erforderlich sind, die Funktionen erfordern, die denen entsprechen,
<uses-feature>
-Elemente.
<uses-feature>
-Deklarationen, einschließlich etwaiger
deklarierten android:required
-Attributen, haben immer Vorrang vor
Funktionen, die durch die Berechtigungen in Tabelle 2
impliziert werden. Für jede dieser Berechtigungen
können Sie das Filtern auf Grundlage der impliziten Funktion deaktivieren, indem Sie
Die Funktion wird in einem <uses-feature>
-Element deklariert, wobei das Attribut required
auf false
gesetzt ist.
Wenn Sie beispielsweise
Filtern basierend auf der Berechtigung CAMERA
deaktivieren, fügen Sie den
folgende <uses-feature>
-Deklarationen in die Manifestdatei einfügen:
<uses-feature android:name="android.hardware.camera" android:required="false" /> <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
Achtung:Wenn Ihre App auf Android 5.0 (API-Level 21) oder
und verwendet ACCESS_COARSE_LOCATION
oder
Berechtigung für ACCESS_FINE_LOCATION
zum Abrufen des Standorts
aus dem Netzwerk bzw. einem GPS-Gerät aktualisiert, müssen Sie auch
erklären, dass deine App die android.hardware.location.network
verwendet
oder android.hardware.location.gps
-Hardwarefunktionen.
Tabelle 2. Geräteberechtigungen, die die Nutzung der Gerätehardware nahelegen.
Kategorie | Berechtigung | Implizite Funktionsanforderung |
---|---|---|
Bluetooth | BLUETOOTH |
android.hardware.bluetooth
|
BLUETOOTH_ADMIN |
android.hardware.bluetooth |
|
Kamera | CAMERA |
android.hardware.camera android.hardware.camera.autofocus |
Standort | ACCESS_MOCK_LOCATION |
android.hardware.location |
ACCESS_LOCATION_EXTRA_COMMANDS |
android.hardware.location |
|
INSTALL_LOCATION_PROVIDER |
android.hardware.location |
|
ACCESS_COARSE_LOCATION |
|
|
ACCESS_FINE_LOCATION |
|
|
Mikrofon | RECORD_AUDIO |
android.hardware.microphone |
Telefonie | CALL_PHONE |
android.hardware.telephony |
CALL_PRIVILEGED |
android.hardware.telephony |
|
MODIFY_PHONE_STATE |
android.hardware.telephony |
|
PROCESS_OUTGOING_CALLS |
android.hardware.telephony |
|
READ_SMS |
android.hardware.telephony |
|
RECEIVE_SMS |
android.hardware.telephony |
|
RECEIVE_MMS |
android.hardware.telephony |
|
RECEIVE_WAP_PUSH |
android.hardware.telephony |
|
SEND_SMS |
android.hardware.telephony |
|
WRITE_APN_SETTINGS |
android.hardware.telephony |
|
WRITE_SMS |
android.hardware.telephony |
|
WLAN | ACCESS_WIFI_STATE |
android.hardware.wifi |
CHANGE_WIFI_STATE |
android.hardware.wifi |
|
CHANGE_WIFI_MULTICAST_STATE |
android.hardware.wifi |