Die Quick Access Wallet-Funktion, die ab Android 11 verfügbar ist, ermöglicht dem Benutzer den Zugriff auf Zahlungskarten und relevante Pässe direkt über das Power-Menü. Zu den wichtigsten Anwendungsfällen gehören die Auswahl der geeigneten Zahlungsmethode vor der Durchführung einer Transaktion an einem NFC-Terminal und der schnelle Zugriff auf Flüge und andere Pässe für bevorstehende Veranstaltungen.
In Android 12 oder höher ist die Quick Access Wallet-Funktion im Schatten verfügbar, wie in Abbildung 1 und Abbildung 2 dargestellt.
![]() | ![]() |
In Android 11 ist die Funktion über das Energiemenü verfügbar, wie in Abbildung 3 dargestellt.

Anforderungen
Um die Quick Access Wallet-Funktion nutzen zu können, muss Ihr Gerät über NFC verfügen. Die Funktion bindet an QuickAccessWalletService
der standardmäßigen NFC-Zahlungs-App, was bedeutet, dass das Gerät auch NFC Host-based Card Emulation (HCE) unterstützen muss.
Funktionsübersicht
Das Quick Access Wallet besteht aus zwei Teilen: der Quick Access Wallet-Benutzeroberfläche und dem Quick Access Wallet-Kartenanbieter.
In Android 12 oder höher wird die Wallet-Benutzeroberfläche in der System-Benutzeroberfläche ausgeführt und befindet sich in frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
. In Android 11 muss die Wallet-Benutzeroberfläche, die sich unter platform/packages/apps/QuickAccessWallet
befindet, installiert und auf die Whitelist gesetzt werden.
Der Quick Access Wallet-Kartenanbieter ist die Standard-NFC-Zahlungs-App. Benutzer können mehrere NFC-Zahlungs-Apps gleichzeitig installieren, aber nur die Standard- NFC-Zahlungs-App kann Karten im Power-Menü anzeigen. Sie können festlegen, welche NFC-Zahlungs-App zunächst als Standard festgelegt wird, Benutzer können jedoch in den Einstellungen eine andere App auswählen. Wenn nur eine NFC-Zahlungs-App installiert ist, wird diese automatisch zum Standard (siehe CardEmulationManager
).
Implementierung
Um Karten für die Quick Access Wallet-Benutzeroberfläche bereitzustellen, müssen NFC-Zahlungs-Apps QuickAccessWalletService
implementieren. Zahlungs-Apps müssen einen Manifesteintrag enthalten, der für den Dienst wirbt.
Um sicherzustellen, dass nur die System-Benutzeroberfläche eine Bindung zu QuickAccessWalletService
herstellen kann, muss die NFC-Zahlungs-App die Berechtigung android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
erfordern. Durch die Anforderung dieser Berechtigung wird sichergestellt, dass nur die System-Benutzeroberfläche eine Bindung an QuickAccessWalletService
herstellen kann.
<service
android:name=".MyQuickAccessWalletService"
android:label="@string/my_default_tile_label"
android:icon="@drawable/my_default_icon_label"
android:logo="@drawable/my_wallet_logo"
android:permission="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE">
<intent-filter>
<action android:name="android.service.quickaccesswallet.QuickAccessWalletService" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<meta-data android:name="android.quickaccesswallet"
android:resource="@xml/quickaccesswallet_configuration" />
<meta-data
android:name="android.quickaccesswallet.tile"
android:resource="@drawable/my_default_tile_icon"/>
</service>
Weitere Informationen zum Wallet sind in der verlinkten XML-Datei enthalten:
<quickaccesswallet-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:settingsActivity="com.example.android.SettingsActivity"
android:shortcutLongLabel="@string/my_wallet_empty_state_text"
android:shortcutShortLabel="@string/my_wallet_button_text"
android:targetActivity="com.example.android.WalletActivity"/>
Als nächstes muss die Zahlungs-App QuickAccessWalletService
implementieren:
public class MyQuickAccessWalletService extends QuickAccessWalletService {
@Override
public void onWalletCardsRequested(
GetWalletCardsRequest request,
GetWalletCardsCallback callback) {
GetWalletCardsResponse response = // generate response
callback.onSuccess(response);
}
@Override
public void onWalletCardSelected(SelectWalletCardRequest request) {
// selecting a card should ensure that it is used when making an NFC payment
}
@Override
public void onWalletDismissed() {
// May un-select card if the wallet app has the concept of a 'default'
// payment method
}
}
Wenn HostApduService
mit der Verarbeitung einer NFC-Transaktion beginnt und infolgedessen eine Aktivität startet, um den Fortschritt und das Ergebnis der Zahlung anzuzeigen, sollte es auch versuchen, einen Verweis auf den gebundenen QuickAccessWalletService
abzurufen und QuickAccessWalletService#sendEvent
mit dem Ereignistyp TYPE_NFC_PAYMENT_STARTED
aufzurufen . Dadurch wird die Quick Access Wallet-Benutzeroberfläche geschlossen, sodass der Benutzer einen ungehinderten Blick auf die Zahlungsaktivität hat.
Weitere Dokumentation zur Implementierung QuickAccessWalletService
finden Sie unter QuickAccessWalletService
und dem TestQuickAccessWalletService
CTS-Test.
Aktivieren der Quick Access Wallet-Benutzeroberfläche in Android 11
Um das Quick Access Wallet so zu konfigurieren, dass es über das Power-Menü in Android 11 verfügbar ist, schließen Sie das QuickAccessWallet
Ziel in den Build ein und aktivieren Sie das Plugin globalactions.wallet
, indem Sie die fett gedruckte Zeile im Codebeispiel unten zum overlay/frameworks/base/packages/SystemUI/res/values/config.xml
hinzufügen. overlay/frameworks/base/packages/SystemUI/res/values/config.xml
Datei.
<resources> ... <!-- SystemUI Plugins that can be loaded on user builds. --> <string-array name="config_pluginWhitelist" translatable="false"> <item>com.android.systemui</item> <item>com.android.systemui.plugin.globalactions.wallet</item> </string-array> </resources>
Geben Sie die Standard-NFC-Zahlungs-App in der Einstellungskonfigurationsdatei mit def_nfc_payment_component
an.
Die standardmäßige NFC-Zahlungs-App muss QuickAccessWalletService
verfügbar machen, um Karten für das Quick Access Wallet bereitzustellen. Wenn die standardmäßige NFC-Zahlungs-App diesen Dienst nicht exportiert, wird die Wallet-Benutzeroberfläche ausgeblendet.
Details zur QuickAccessWalletService-Implementierung
QuickAccessWalletService
verfügt über drei abstrakte Methoden, die implementiert werden müssen: onWalletCardsRequested
, onWalletCardSelected
und onWalletDismissed
. Das folgende Sequenzdiagramm veranschaulicht eine Anrufsequenz, wenn das Quick Access Wallet unmittelbar vor einer NFC-Zahlung angezeigt wird.

Nicht auf alle Ansichten des Quick Access Wallet folgt eine NFC-Zahlung, aber Abbildung 4 oben zeigt alle Funktionen von QuickAccessWalletService
. In diesem Beispiel implementiert der Quick Access Wallet-Kartenanbieter die blau umrandeten Elemente. Es wird davon ausgegangen, dass Zahlungskarten auf dem Gerät in einer Datenbank gespeichert sind und über eine Schnittstelle namens PaymentCardManager
darauf zugegriffen wird. Es wird weiterhin davon ausgegangen, dass eine Aktivität namens PaymentActivity
das Ergebnis einer NFC-Zahlung anzeigt. Der Ablauf läuft wie folgt ab:
- Der Benutzer führt eine Geste aus, um das Quick Access Wallet aufzurufen.
Die Quick Access Wallet-Benutzeroberfläche (Teil der Systembenutzeroberfläche) überprüft den Paketmanager, um festzustellen, ob die standardmäßige NFC-Zahlungs-App
QuickAccessWalletService
exportiert.- Wenn der Dienst nicht exportiert wird, wird das Quick Access Wallet nicht angezeigt.
Die Quick Access Wallet-Benutzeroberfläche bindet an den
QuickAccessWalletService
und ruftonWalletCardsRequested
auf. Diese Methode nimmt ein Request-Objekt entgegen, das Daten über die Anzahl und Größe der Karten, die bereitgestellt werden können, sowie einen Rückruf enthält. Der Rückruf kann von einem Hintergrundthread aufgerufen werden.QuickAccessWalletService
berechnet die Karten, die angezeigt werden sollen, und ruft dann dieonSuccess
Methode für den bereitgestellten Rückruf auf. Es wird empfohlen, dass der Dienst diese Aktionen in einem Hintergrundthread ausführt.Sobald die Karten angezeigt werden, benachrichtigt die System-Benutzeroberfläche
QuickAccessWalletService
durch den Aufruf vononWalletCardSelected
darüber, dass die erste Karte ausgewählt wurde.-
onWalletCardSelected
wird jedes Mal aufgerufen, wenn der Benutzer eine neue Karte auswählt. -
onWalletCardSelected
kann auch dann aufgerufen werden, wenn sich die aktuell ausgewählte Karte nicht geändert hat.
-
Wenn der Benutzer das Quick Access Wallet verwirft, benachrichtigt die System-Benutzeroberfläche
QuickAccessWalletService
durch Aufruf vononWalletDismissed
.
Im obigen Beispiel bringt der Benutzer das Telefon in die Reichweite eines NFC-Zahlungsterminals, während die Brieftasche angezeigt wird. Eine Schlüsselkomponente bei der Abwicklung von NFC-Zahlungen ist HostApduService
, der implementiert werden muss, um vom NFC-Leser bereitgestellte APDUs zu verarbeiten (weitere Informationen finden Sie unter Hostbasierte Kartenemulation ). Es wird davon ausgegangen, dass die Bezahl-App eine Aktivität startet, um den Fortschritt und das Ergebnis der Interaktion mit dem NFC-Terminal anzuzeigen. Allerdings wird die Quick Access Wallet-Benutzeroberfläche oben im App-Fenster angezeigt, was bedeutet, dass die Zahlungsaktivität durch die Quick Access Wallet-Benutzeroberfläche verdeckt wird. Um dies zu beheben, muss die App die System-Benutzeroberfläche darüber informieren, dass die Quick Access Wallet-Benutzeroberfläche geschlossen werden soll. Dies kann erreicht werden, indem ein Verweis auf den gebundenen QuickAccessWalletService
abgerufen und sendWalletServiceEvent
mit dem Ereignistyp TYPE_NFC_PAYMENT_STARTED
aufgerufen wird.
QuickAccessWalletService-Beispielimplementierung
/** Sample implementation of {@link QuickAccessWalletService} */
@RequiresApi(VERSION_CODES.R)
public class MyQuickAccessWalletService extends QuickAccessWalletService {
private static final String TAG = "QAWalletSvc";
private ExecutorService executor;
private PaymentCardManager paymentCardManager;
@Override
public void onCreate() {
super.onCreate();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
Log.w(TAG, "Should not run on pre-R devices");
stopSelf();
return;
}
executor = Executors.newSingleThreadExecutor();
paymentCardManager = new PaymentCardManager();
}
@Override
public void onDestroy() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
return;
}
executor.shutdownNow();
}
@Override
public void onWalletCardsRequested(
@NonNull GetWalletCardsRequest request, @NonNull GetWalletCardsCallback callback) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
return;
}
executor.submit(
() -> {
List<PaymentCard> paymentCards = paymentCardManager.getCards();
int maxCards = Math.min(paymentCards.size(), request.getMaxCards());
List<WalletCard> walletCards = new ArrayList<>(maxCards);
int selectedIndex = 0;
int cardWidthPx = request.getCardWidthPx();
int cardHeightPx = request.getCardHeightPx();
for (int index = 0; index < maxCards; index++) {
PaymentCard paymentCard = paymentCards.get(index);
WalletCard walletCard =
new WalletCard.Builder(
paymentCard.getCardId(),
paymentCard.getCardImage(cardWidthPx, cardHeightPx),
paymentCard.getContentDescription(),
paymentCard.getPendingIntent())
.build();
walletCards.add(walletCard);
if (paymentCard.isSelected()) {
selectedIndex = index;
}
}
GetWalletCardsResponse response =
new GetWalletCardsResponse(walletCards, selectedIndex);
callback.onSuccess(response);
});
}
@Override
public void onWalletCardSelected(@NonNull SelectWalletCardRequest request) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
return;
}
executor.submit(
() -> paymentCardManager.selectCardById(request.getCardId()));
}
@Override
public void onWalletDismissed() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
return;
}
executor.submit(() -> {
paymentCardManager.removeCardOverrides();
});
}
}
Weitere Einzelheiten zu QuickAccessWalletService
finden Sie in der QuickAccessWalletService
-API-Referenz .
Berechtigungen
Der Manifesteintrag für QuickAccessWalletService
muss die in Android 11 eingeführte Berechtigung android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
erfordern. Dabei handelt es sich um eine Berechtigung auf Signaturebene, die von der System-Benutzeroberfläche gehalten wird, was bedeutet, dass nur der System-UI-Prozess an Implementierungen von QuickAccessWalletService
binden kann. Beachten Sie, dass seitlich geladene Apps diese Berechtigung beanspruchen und vollen Zugriff auf QuickAccessWalletService
Daten auf Geräten mit Android 10 oder niedriger erhalten können. Um dies zu verhindern, wird empfohlen, dass der Dienst die Build-Version in onCreate
überprüft und den Dienst nur auf Geräten mit Android 11 und höher aktiviert. Es sind keine weiteren App-Berechtigungen erforderlich, die über die hinausgehen, die für die Bereitstellung von Hostkarten-Emulation-Zahlungsdiensten erforderlich sind.
Wenn die standardmäßige NFC-Zahlungs-App QuickAccessWalletService
nicht implementiert oder exportiert, wird die Quick Access Wallet-Benutzeroberfläche nicht angezeigt.
Einstellungen in Android 12
Um das Quick Access Wallet über den Sperrbildschirm zu aktivieren oder zu deaktivieren, können Benutzer den Schalter „Wallet anzeigen“ unter „Einstellungen“ > „Anzeige“ > „Sperrbildschirm“ verwenden. Um das Wallet im Schatten zu deaktivieren, müssen Benutzer es manuell im Schatten der Schnelleinstellungen bearbeiten.
Abbildung 5. Wallet-Umschaltung auf der Seite „Sperrbildschirm“ in den Einstellungen anzeigen.
Einstellungen in Android 11
Benutzer können die Quick Access Wallet-Funktion über die Einstellungen-App deaktivieren. Die Einstellungsseite finden Sie unter Einstellungen > System > Gesten > Karten & Pässe .

Anpassung
Hinzufügen der Quick Access Wallet-Ansicht zu einem anderen Ort in der System-Benutzeroberfläche
Die Quick Access Wallet-Benutzeroberfläche ist als System-Plugin aufgebaut. Obwohl die AOSP-Implementierung davon in GlobalActionsDialog
Gebrauch macht (angezeigt bei langem Drücken der Taste), können Sie die Funktion hinter eine andere Geste verschieben, solange Sie den von der Plugin-Schnittstelle angegebenen Vertrag beibehalten.
public interface GlobalActionsPanelPlugin extends Plugin {
/** Invoked when the view is shown */
PanelViewController onPanelShown(Callbacks callbacks, boolean deviceLocked);
/** Callbacks for interacting with the view container */
interface Callbacks {
/** Dismisses the view */
void dismissGlobalActionsMenu();
/** Starts a PendingIntent, dismissing the keyguard if necessary. */
void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent);
}
/** Provides the Quick Access Wallet view */
interface PanelViewController {
/** Returns the QuickAccessWallet view, which may take any size */
View getPanelContent();
/** Invoked when the view is dismissed */
void onDismissed();
/** Invoked when the device is either locked or unlocked. */
void onDeviceLockStateChanged(boolean locked);
}
}
Die Quick Access Wallet-Benutzeroberfläche implementiert GlobalActionsPanelPlugin
und PanelViewController
. GlobalActionsDialog
ruft mithilfe von com.android.systemui.Dependency
eine Instanz des Wallet-Plugins ab:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Nachdem überprüft wurde, dass das Plugin ungleich Null ist und dass der von onPanelShown
zurückgegebene PanelViewController
ungleich Null ist, hängt der Dialog die von getPanelContent
bereitgestellte View
an seine eigene View
an und stellt entsprechende Rückrufe für Systemereignisse bereit.
// Construct a Wallet PanelViewController.
// `this` implements GlobalActionsPanelPlugin.Callbacks
GlobalActionsPanelPlugin.PanelViewController mPanelController =
mPanelPlugin.onPanelShown(this, !mKeyguardStateController.isUnlocked());
// Attach the view
FrameLayout panelContainer = findViewById(R.id.my_panel_container);
FrameLayout.LayoutParams panelParams =
new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT);
panelContainer.addView(mPanelController.getPanelContent(), panelParams);
// Respond to unlock events (if the view can be accessed while the phone is locked)
keyguardStateController.addCallback(new KeyguardStateController.Callback() {
@Override
public void onUnlockedChanged() {
boolean unlocked = keyguardStateController.isUnlocked()
|| keyguardStateController.canDismissLockScreen();
mPanelController.onDeviceLockStateChanged(unlocked);
}
});
// Implement GlobalActionsPanelPlugin.Callbacks
@Override
public void dismissGlobalActionsMenu() {
dismissDialog();
}
@Override
public void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent) {
mActivityStarter.startPendingIntentDismissingKeyguard(pendingIntent);
}
// Notify the wallet when the container view is dismissed
mPanelController.onDismissed();
Um das Quick Access Wallet aus dem Power-Menü zu entfernen, lassen Sie das QuickAccessWallet
Ziel im System-Build weg. Um das Quick Access Wallet aus dem Power-Menü zu entfernen, es aber einer anderen von der System-Benutzeroberfläche bereitgestellten Ansicht hinzuzufügen, schließen Sie das Build-Ziel ein und entfernen Sie Verweise auf das GlobalActionsPanelPlugin
aus GlobalActionsImpl
.
Festlegen von Standardkonfigurationen
Android 12
In Android 12 oder höher ist das Quick Access Wallet immer im Schatten der Schnelleinstellungen sichtbar. Die Sichtbarkeit des Quick Access Wallets im Sperrbildschirm wird durch die folgende sichere Einstellung eingeschränkt: LOCKSCREEN_SHOW_WALLET
. Diese Einstellung steuert, ob das Quick Access Wallet-Symbol unten rechts auf dem Sperrbildschirm angezeigt wird. Diese Einstellung ist standardmäßig auf true
gesetzt, kann aber vom Benutzer unter „Einstellungen“ > „Anzeige“ > „Sperrbildschirm“ > „Wallet anzeigen“ deaktiviert werden.
Android 11
In Android 11 wird die Sichtbarkeit der Quick Access Wallet durch zwei sichere Einstellungen eingeschränkt: GLOBAL_ACTIONS_PANEL_ENABLED
und GLOBAL_ACTIONS_PANEL_AVAILABLE
. Die Einstellung AVAILABLE
steuert, ob die Funktion in den Einstellungen aktiviert und deaktiviert werden kann. Diese Einstellung wird von WalletPluginService
auf true
gesetzt. Wenn QuickAccessWallet
nicht im Build enthalten ist, bleibt die Einstellung false
. Die Einstellung ENABLED
ist an derselben Stelle standardmäßig auf true
gesetzt, kann aber vom Benutzer in den Einstellungen deaktiviert werden. Um das Standardverhalten zu ändern, ändern Sie WalletPluginService#enableFeatureInSettings
.
Validierung
Führen Sie CTS- und manuelle Tests durch, um Ihre Implementierung des Quick Access Wallet zu validieren. Bei Änderungen am Plugin sollen auch die enthaltenen Robolectric-Tests durchgeführt werden.
CTS-Tests
Führen Sie die CTS-Tests unter cts/tests/quickaccesswallet
aus.
Manuelle Tests für Android 12
Zum Testen der Kernfunktionen des Quick Access Wallet sind ein NFC-Zahlungsterminal (echt oder gefälscht) und eine NFC-Zahlungs-App erforderlich, die QuickAccessWalletService
(Wallet-App) implementiert. Zu den Kernfunktionen, die getestet werden müssen, gehören: Verfügbarkeit, Nullstatus, Kartenauswahl und Sperrbildschirmverhalten.
Verfügbarkeit
- Wenn die standardmäßige NFC-Zahlungs-App diese Funktion nicht unterstützt, ist das Quick Access Wallet weder in den Schnelleinstellungen noch im Sperrbildschirm zugänglich.
- Wenn die Standard-NFC-Zahlungs-App die Funktion unterstützt, ist das Quick Access Wallet im Schatten der Schnelleinstellungen verfügbar.
- Wenn die Standard-NFC-Zahlungs-App die Funktion unterstützt und die Einstellung
LOCKSCREEN_SHOW_WALLET
true
ist, ist das Quick Access Wallet über den Sperrbildschirm zugänglich. - Wenn die standardmäßige NFC-Zahlungs-App die Funktion unterstützt und die Einstellung
LOCKSCREEN_SHOW_WALLET
auffalse
gesetzt ist, ist das Quick Access Wallet über den Sperrbildschirm nicht zugänglich.
Null-Zustand
Wenn
QuickAccessWalletService
aktiviert und exportiert ist, aber keine Karten bereitstellt, wird die Kachel im Schatten angezeigt, wie im Beispiel in Abbildung 7 gezeigt. Durch Klicken auf die Kachel wird die Standard-NFC-Zahlungs-App geöffnet.Abbildung 7. Beispielkachel im Schatten, die die Standard-NFC-Zahlungs-App zeigt.
Durch Klicken auf die leere Statusansicht, wie in Abbildung 8 dargestellt, wird die Standard-NFC-Zahlungs-App geöffnet. Diese leere Statusansicht wird nur angezeigt, wenn der Benutzer noch eine Karte in der Brieftasche hat, die Karte von der Kartendetailseite entfernt und dann zur Brieftaschenansicht zurückkehrt.
Auf dem Sperrbildschirm wird das Brieftaschensymbol angezeigt.
Abbildung 8. Leere Statusansicht in der Quick Access Wallet-Benutzeroberfläche.
Nicht-Null-Zustand
Wenn die Wallet-App eine oder mehrere Karten bereitstellt, erscheint die Kachel im Schatten wie in Abbildung 9 dargestellt.
Abbildung 9. Beispielkachel im Schatten, wenn die Wallet-App eine oder mehrere Karten enthält.
Ein Klick auf die Kachel zeigt ein Kartenkarussell.
Auf dem Sperrbildschirm wird eine Schaltfläche angezeigt, die das Quick Access Wallet öffnet.
Abbildung 10. Quick Access Wallet-Benutzeroberfläche mit angezeigter Karte.
Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, führt das Halten des Telefons an ein NFC-Zahlungsterminal dazu, dass diese Zahlungsmethode verwendet wird und die Wallet-Ansicht verworfen wird.
Durch Klicken auf eine angezeigte Karte wird die detaillierte Aktivität für diese Karte geöffnet.
Wenn
QuickAccessWalletService
mehrere Karten bereitstellt, kann der Benutzer zwischen den Karten wechseln.Das Überlaufmenü enthält einen Eintrag: Öffnen Sie die Sperrbildschirmeinstellungen, damit der Benutzer die Option „Wallet anzeigen“ ändern kann.
Sperrzustandstests
- Wenn das Telefon gesperrt ist, wird die Brieftasche im Schatten der Schnelleinstellungen mit der Beschreibung „ Eine Karte hinzufügen“ angezeigt, wenn in der Standard-Zahlungs-App keine Karte vorhanden ist, oder „Entsperren“ , wenn in der Standard-Zahlungs-App Karten vorhanden sind.
- Wenn das Telefon gesperrt ist, wird die Sichtbarkeit der Brieftasche auf dem Sperrbildschirm durch die Einstellung
Secure.LOCKSCREEN_SHOW_WALLET
gesteuert, die in den Einstellungen gesteuert wird. - Wenn das Telefon gesperrt ist,
LOCKSCREEN_SHOW_WALLET
false
hat und in der Standard-NFC-Zahlungs-App keine Karte vorhanden ist, wird die Brieftasche nicht auf dem Sperrbildschirm angezeigt. - Wenn das Telefon gesperrt ist,
LOCKSCREEN_SHOW_WALLET
true
ist und in der Standard-NFC-Zahlungs-App keine Karte vorhanden ist, wird die Brieftasche nicht auf dem Sperrbildschirm angezeigt. - Wenn das Telefon gesperrt ist,
LOCKSCREEN_SHOW_WALLET
true
ist und in der Standard-NFC-Zahlungs-App Karten vorhanden sind, wird die Brieftasche auf dem Sperrbildschirm angezeigt. - Wenn Sie das Telefon entsperren, während die Brieftasche auf dem Sperrbildschirm angezeigt wird, werden die Karten erneut abgefragt, was zu einem anderen Karteninhalt führen kann.
Barrierefreiheitstests
- Talkback-Benutzer können in der Wallet-Ansicht navigieren, indem sie nach links und rechts wischen und sich die Inhaltsbeschreibungen der Karten anhören.
- Wenn Sie bei aktiviertem Talkback nach links und rechts wischen, werden die einzelnen Karten nacheinander ausgewählt. Talkback-Nutzer können an einem NFC-Zahlungsterminal eine NFC-Zahlungsmethode auswählen und nutzen.
Manuelle Tests für Android 11
Zum Testen der Kernfunktionen des Quick Access Wallet sind ein NFC-Zahlungsterminal (echt oder gefälscht) und eine NFC-Zahlungs-App erforderlich, die QuickAccessWalletService
(Wallet-App) implementiert. Zu den Kernfunktionen, die getestet werden müssen, gehören Verfügbarkeit, Nullstatus, Kartenauswahl und Sperrbildschirmverhalten.
Verfügbarkeit
- Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLED
true
ist und die standardmäßige NFC-Zahlungs-App die Funktion unterstützt, ist das Quick Access Wallet zugänglich. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLED
false
ist und die Standard-NFC-Zahlungs-App die Funktion unterstützt, ist das Quick Access Wallet nicht zugänglich. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLED
true
ist und die standardmäßige NFC-Zahlungs-App die Funktion nicht unterstützt, ist das Quick Access Wallet nicht zugänglich. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLED
false
ist und die standardmäßige NFC-Zahlungs-App die Funktion nicht unterstützt, ist das Quick Access Wallet nicht zugänglich.
Null-Zustand
- Wenn
QuickAccessWalletService
aktiviert und exportiert ist, aber keine Karten bereitstellt, zeigt die Quick Access Wallet-Benutzeroberfläche die leere Statusansicht an. Durch Klicken auf die leere Statusansicht wird die Wallet-App geöffnet.
Abbildung 11. Leere Statusansicht in der Quick Access Wallet-Benutzeroberfläche.
Nicht-Null-Zustand
Wenn die Wallet-App eine oder mehrere Karten bereitstellt, werden die Karten in der Quick Access Wallet-Benutzeroberfläche angezeigt.
Abbildung 12. Quick Access Wallet-Benutzeroberfläche mit angezeigter Karte. Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, führt das Halten des Telefons an ein NFC-Zahlungsterminal dazu, dass diese Zahlungsmethode verwendet wird und die Wallet-Ansicht verworfen wird.
Durch Klicken auf eine angezeigte Karte wird die Wallet-Ansicht geschlossen und die detaillierte Aktivität für diese Karte geöffnet.
Wenn
QuickAccessWalletService
mehrere Karten bereitstellt, kann der Benutzer zwischen den Karten wechseln.Das Überlaufmenü enthält zwei Einträge: einen, der die Wallet-App öffnet, und einen, der den Bildschirm „Karten & Pässe anzeigen“ in den Einstellungen öffnet.
Sperrzustandstests
- Wenn das Telefon gesperrt ist, wird die Sichtbarkeit der Brieftasche durch die Einstellung
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
gesteuert, die in den Einstellungen gesteuert werden kann. - Wenn das Telefon gesperrt ist und
POWER_MENU_LOCK_SHOW_CONTENT
false
ist, wird die Brieftasche nicht angezeigt. - Wenn das Telefon gesperrt ist und
POWER_MENU_LOCK_SHOW_CONTENT
true
ist, wird die Wallet angezeigt. - Das Entsperren des Telefons, während die Brieftasche auf dem Sperrbildschirm angezeigt wird, führt dazu, dass die Karten erneut abgefragt werden, was zu einem anderen Karteninhalt führen kann.
Barrierefreiheitstests
- TalkBack-Benutzer können in der Wallet-Ansicht navigieren, indem sie nach links und rechts wischen und sich die Inhaltsbeschreibungen der Karten anhören.
- Wenn Sie bei aktiviertem TalkBack nach links und rechts wischen, werden die einzelnen Karten nacheinander ausgewählt. TalkBack-Nutzer können an einem NFC-Zahlungsterminal eine NFC-Zahlungsmethode auswählen und nutzen.