Mit der Funktion „Schnellzugriff auf Karten“, die ab Android 11 verfügbar ist, können Nutzer direkt über das Ein/Aus-Menü auf Zahlungskarten und relevante Karten und Tickets zugreifen. Zu den wichtigsten Anwendungsfällen gehören die Auswahl der geeigneten Zahlungsmethode vor einer Transaktion an einem NFC-Terminal und der schnelle Zugriff auf Flüge und andere Karten und Tickets für anstehende Veranstaltungen.
In Android 12 oder höher ist die Funktion „Schnellzugriff auf Karten“ über die Benachrichtigungsleiste verfügbar, wie in Abbildung 1 und Abbildung 2 dargestellt.
|
|
In Android 11 ist die Funktion über das Ein/Aus-Menü verfügbar, wie in Abbildung 3 dargestellt.
Voraussetzungen
Ihr Gerät muss NFC haben, um die Funktion „Schnellzugriff auf Karten“ verwenden zu können. Die Funktion
ist an QuickAccessWalletService der Standard-App für NFC-Zahlungen gebunden. Das bedeutet
das Gerät muss auch NFC
hostbasierte Kartenemulation (Host-based Card Emulation, HCE)unterstützen.
Funktionsübersicht
Die Funktion „Schnellzugriff auf Karten“ besteht aus zwei Teilen: der Benutzeroberfläche für den Schnellzugriff auf Karten und dem Kartenanbieter für den Schnellzugriff auf Karten.
In Android 12 oder höher wird die Benutzeroberfläche für Karten in der System
UI ausgeführt und befindet sich in
frameworks/base/packages/SystemUI/src/com/android/systemui/wallet. In
Android 11 muss die Benutzeroberfläche für Karten, die sich in
platform/packages/apps/QuickAccessWallet,
installiert und auf die Zulassungsliste gesetzt werden.
Der Kartenanbieter für den Schnellzugriff auf Karten ist die Standard-App für NFC-Zahlungen. Nutzer können mehrere Apps für NFC-Zahlungen gleichzeitig installiert haben, aber nur die Standard-App für NFC-Zahlungen kann Karten im Ein/Aus-Menü anzeigen. Sie können angeben, welche App für NFC-Zahlungen anfänglich als Standard-App festgelegt wird. Nutzer können aber in den Einstellungen eine andere App auswählen. Wenn nur eine App für NFC-Zahlungen installiert ist, wird sie automatisch zur
Standard-App (siehe
CardEmulationManager).
Implementierung
Um Karten für die Benutzeroberfläche für den Schnellzugriff auf Karten bereitzustellen, müssen Apps für NFC-Zahlungen
implementieren
QuickAccessWalletService.
Zahlungs-Apps müssen einen Manifesteintrag enthalten, der den Dienst bewirbt.
Damit nur die System-UI eine Bindung an QuickAccessWalletService vornehmen kann, muss die App für NFC-Zahlungen die Berechtigung android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE erfordern. Durch diese Berechtigung wird sichergestellt, dass nur die System-UI eine Bindung an QuickAccessWalletService vornehmen 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 zur digitalen Geldbörse finden Sie in der verlinkten XML-Datei:
<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 eine NFC-Transaktion verarbeitet und infolgedessen
eine Aktivität startet, um den Fortschritt und das Ergebnis der Zahlung anzuzeigen, sollte
auch versucht werden, eine Referenz auf den gebundenen QuickAccessWalletService abzurufen und
QuickAccessWalletService#sendEvent mit dem Ereignistyp
TYPE_NFC_PAYMENT_STARTED aufzurufen. Dadurch wird die Benutzeroberfläche für den Schnellzugriff auf Karten geschlossen, sodass der Nutzer die Zahlungsaktivität ohne Einschränkungen sehen kann.
Weitere Informationen zur Implementierung von QuickAccessWalletService finden Sie unter
QuickAccessWalletService
und im
TestQuickAccessWalletService
CTS-Test.
Benutzeroberfläche für den Schnellzugriff auf Karten in Android 11 aktivieren
Wenn Sie den Schnellzugriff auf Karten über das Ein/Aus-Menü
in Android 11 verfügbar machen möchten, fügen Sie das
QuickAccessWallet
Ziel in den Build ein und aktivieren Sie das globalactions.wallet Plug-in, indem Sie
die fett gedruckte Zeile im folgenden Codebeispiel in die
overlay/frameworks/base/packages/SystemUI/res/values/config.xml Datei einfügen.
<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-App für NFC-Zahlungen in der
Konfigurationsdatei für die Einstellungen
mit def_nfc_payment_component an.
Die Standard-App für NFC-Zahlungen muss
QuickAccessWalletService
verfügbar machen, um Karten für den Schnellzugriff auf Karten bereitzustellen. Wenn die Standard-App für NFC-Zahlungen diesen Dienst nicht exportiert, wird die Benutzeroberfläche für Karten ausgeblendet.
Implementierungsdetails für QuickAccessWalletService
QuickAccessWalletService hat drei abstrakte Methoden, die implementiert werden müssen: onWalletCardsRequested, onWalletCardSelected und onWalletDismissed. Das folgende Sequenzdiagramm veranschaulicht eine Aufrufsequenz, wenn der Schnellzugriff auf Karten unmittelbar vor einer NFC-Zahlung aufgerufen wird.
Nicht alle Aufrufe des Schnellzugriffs auf Karten werden von einer NFC-Zahlung gefolgt, aber Abbildung 4 oben veranschaulicht alle Funktionen von QuickAccessWalletService. In diesem Beispiel implementiert der Kartenanbieter für den Schnellzugriff auf Karten die blau umrandeten Elemente. Es wird davon ausgegangen, dass Zahlungskarten in einer Datenbank auf dem Gerät gespeichert sind und über eine Schnittstelle namens PaymentCardManager aufgerufen werden. Außerdem wird davon ausgegangen, dass eine Aktivität namens PaymentActivity das Ergebnis einer NFC-Zahlung anzeigt. Der Ablauf ist wie folgt:
- Der Nutzer führt eine Geste aus, um den Schnellzugriff auf Karten aufzurufen.
Die Benutzeroberfläche für den Schnellzugriff auf Karten (Teil der System-UI) prüft im Paketmanager, ob die Standard-App für NFC-Zahlungen
QuickAccessWalletServiceexportiert.- Wenn der Dienst nicht exportiert wird, wird der Schnellzugriff auf Karten nicht angezeigt.
Die Benutzeroberfläche für den Schnellzugriff auf Karten stellt eine Bindung zu
QuickAccessWalletServiceher und ruftonWalletCardsRequestedauf. Diese Methode verwendet ein Anfrageobjekt mit Daten zur Anzahl und Größe der Karten, die bereitgestellt werden können, und einen Callback. Der Callback kann über einen Hintergrundthread aufgerufen werden.QuickAccessWalletServiceberechnet die Karten, die angezeigt werden sollen, und ruft dann die MethodeonSuccessfür den bereitgestellten Callback auf. Es wird empfohlen, dass der Dienst diese Aktionen in einem Hintergrundthread ausführt.Sobald die Karten angezeigt werden, benachrichtigt die System-UI
QuickAccessWalletService, dass die erste Karte ausgewählt wurde, indem sieonWalletCardSelectedaufruft.onWalletCardSelectedwird jedes Mal aufgerufen, wenn der Nutzer eine neue Karte auswählt.onWalletCardSelectedkann auch aufgerufen werden, wenn die aktuell ausgewählte Karte nicht geändert wurde.
Wenn der Nutzer den Schnellzugriff auf Karten schließt, benachrichtigt die System-UI
QuickAccessWalletService, indem sieonWalletDismissedaufruft.
Im obigen Beispiel hält der Nutzer das Smartphone in die Nähe eines NFC-Zahlungsterminals, während die digitale Geldbörse angezeigt wird. Eine wichtige Komponente für die Verarbeitung von NFC
Zahlungen ist HostApduService, die implementiert werden muss, um von Lesegeräten für NFC bereitgestellte APDUs
zu verarbeiten (weitere Informationen finden Sie unter
Hostbasierte Kartenemulation).
Es wird davon ausgegangen, dass die Zahlungs-App eine Aktivität startet, um den Fortschritt und das Ergebnis der Interaktion mit dem NFC-Terminal anzuzeigen. Die Benutzeroberfläche für den Schnellzugriff auf Karten wird jedoch über dem App-Fenster angezeigt, sodass die Zahlungsaktivität durch die Benutzeroberfläche für den Schnellzugriff auf Karten verdeckt wird. Um dies zu beheben, muss die App die System-UI benachrichtigen, dass die Benutzeroberfläche für den Schnellzugriff auf Karten geschlossen werden soll. Dazu kann sie eine Referenz auf den gebundenen QuickAccessWalletService abrufen und sendWalletServiceEvent mit dem Ereignistyp TYPE_NFC_PAYMENT_STARTED aufrufen.
Beispielimplementierung für QuickAccessWalletService
/** 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 Informationen 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. Dies ist eine Berechtigung auf Signatur-Ebene, die von der System-UI gehalten wird. Das bedeutet, dass nur der System-UI-Prozess eine Bindung an Implementierungen von QuickAccessWalletService vornehmen kann. Beachten Sie, dass per Sideloading installierte 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 prüft und den Dienst nur auf Geräten mit Android 11 und höher aktiviert. Über die für die Bereitstellung von Host Card Emulation-Zahlungsdiensten erforderlichen App-Berechtigungen hinaus sind keine weiteren App-Berechtigungen erforderlich.
Wenn die Standard-App für NFC-Zahlungen QuickAccessWalletService nicht implementiert oder exportiert, wird die Benutzeroberfläche für den Schnellzugriff auf Karten nicht angezeigt.
Einstellungen in Android 12
Wenn Nutzer den Schnellzugriff auf Karten über den Sperrbildschirm aktivieren oder deaktivieren möchten, können sie in den Einstellungen > Display > Sperrbildschirm die Option Wallet anzeigen verwenden. Wenn Nutzer die digitale Geldbörse in der Benachrichtigungsleiste deaktivieren möchten, müssen sie sie manuell in der Benachrichtigungsleiste für die Schnelleinstellungen bearbeiten.
Abbildung 5. Option „Wallet anzeigen“ auf der Seite „Sperrbildschirm“ in den Einstellungen.
Einstellungen in Android 11
Nutzer können die Funktion „Schnellzugriff auf Karten“ in der App „Einstellungen“ deaktivieren. Die Einstellungsseite finden Sie unter Einstellungen > System > Gesten > Karten und Tickets.
Anpassung
Ansicht für den Schnellzugriff auf Karten an einer anderen Stelle in der System-UI hinzufügen
Die
Benutzeroberfläche für den Schnellzugriff auf Karten
ist als
System-Plug-inkonzipiert.
Obwohl die AOSP-Implementierung sie in
GlobalActionsDialog
verwendet (wird bei langem Drücken der Ein/Aus-Taste angezeigt), können Sie die Funktion hinter einer anderen Geste platzieren,
solange Sie den durch die Plug-in-Schnittstelle angegebenen Vertrag einhalten.
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
Benutzeroberfläche für den Schnellzugriff auf Karten
implementiert GlobalActionsPanelPlugin und PanelViewController.
GlobalActionsDialog
ruft eine Instanz des Wallet-Plug-ins mit com.android.systemui.Dependency ab:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Nachdem geprüft wurde, ob das Plug-in und der PanelViewController
von onPanelShown zurückgegebene nicht null sind, fügt das Dialogfeld die von getPanelContent bereitgestellte View an seine eigene View an und stellt entsprechende Callbacks 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();
Wenn Sie den Schnellzugriff auf Karten aus dem Ein/Aus-Menü entfernen möchten, lassen Sie das Ziel QuickAccessWallet im System-Build weg. Wenn Sie den Schnellzugriff auf Karten aus dem Ein/Aus-Menü entfernen, ihn aber einer anderen Ansicht der System-UI hinzufügen möchten,
fügen Sie das Build-Ziel ein und entfernen Sie Verweise auf die GlobalActionsPanelPlugin
aus
GlobalActionsImpl.
Standardkonfigurationen festlegen
Android 12
In Android 12 oder höher ist der Schnellzugriff auf Karten immer in der Benachrichtigungsleiste für die Schnelleinstellungen sichtbar. Die Sichtbarkeit des Schnellzugriffs auf Karten auf dem Sperrbildschirm wird durch die folgende sichere Einstellung gesteuert: LOCKSCREEN_SHOW_WALLET. Mit dieser Einstellung wird festgelegt, ob das Symbol für den Schnellzugriff auf Karten unten rechts auf dem Sperrbildschirm angezeigt wird. Diese Einstellung ist standardmäßig auf true gesetzt, kann aber vom Nutzer unter Einstellungen > Display > Sperrbildschirm > Wallet anzeigen deaktiviert werden.
Android 11
In Android 11 wird die Sichtbarkeit des Schnellzugriffs auf Karten durch zwei sichere Einstellungen gesteuert: GLOBAL_ACTIONS_PANEL_ENABLED und GLOBAL_ACTIONS_PANEL_AVAILABLE. Mit der Einstellung AVAILABLE wird festgelegt, 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 standardmäßig an derselben Stelle auf true gesetzt, kann aber vom Nutzer in den Einstellungen deaktiviert werden. Wenn Sie das Standardverhalten ändern möchten, ändern Sie WalletPluginService#enableFeatureInSettings.
Validierung
Um Ihre Implementierung des Schnellzugriffs auf Karten zu validieren, führen Sie CTS- und manuelle Tests aus. Änderungen am Plug-in sollten auch die enthaltenen Robolectric-Tests ausführen.
CTS-Tests
Führen Sie die CTS-Tests unter
cts/tests/quickaccesswallet aus.
Manuelle Tests für Android 12
Für das Testen der Kernfunktionen des Schnellzugriffs auf Karten sind ein NFC-Zahlungsterminal (echt oder gefälscht) und eine App für NFC-Zahlungen erforderlich, die QuickAccessWalletService implementiert (Wallet-App). Zu den Kernfunktionen, die getestet werden müssen, gehören Verfügbarkeit, Nullstatus, Kartenauswahl und Verhalten des Sperrbildschirms.
Verfügbarkeit
- Wenn die Standard-App für NFC-Zahlungen die Funktion nicht unterstützt, ist der Schnellzugriff auf Karten weder in den Schnelleinstellungen noch auf dem Sperrbildschirm verfügbar.
- Wenn die Standard-App für NFC-Zahlungen die Funktion unterstützt, ist der Schnellzugriff auf Karten in der Benachrichtigungsleiste für die Schnelleinstellungen verfügbar.
- Wenn die Standard-App für NFC-Zahlungen die Funktion unterstützt und die Einstellung
LOCKSCREEN_SHOW_WALLETauftruegesetzt ist, ist der Schnellzugriff auf Karten auf dem Sperrbildschirm verfügbar. - Wenn die Standard-App für NFC-Zahlungen die Funktion unterstützt und die Einstellung
LOCKSCREEN_SHOW_WALLETauffalsegesetzt ist, ist der Schnellzugriff auf Karten auf dem Sperrbildschirm nicht verfügbar.
Nullstatus
Wenn
QuickAccessWalletServiceaktiviert und exportiert ist, aber keine Karten bereitstellt, wird die Kachel in der Benachrichtigungsleiste wie im Beispiel in Abbildung 7 angezeigt. Wenn Sie auf die Kachel klicken, wird die Standard-App für NFC-Zahlungen geöffnet.
Abbildung 7. Beispiel für eine Kachel in der Benachrichtigungsleiste, die die Standard-App für NFC-Zahlungen zeigt.
Wenn Sie auf die Ansicht des leeren Status klicken, wie in Abbildung 8 dargestellt, wird die Standard-App für NFC-Zahlungen geöffnet. Diese Ansicht des leeren Status wird nur angezeigt, wenn der Nutzer noch eine Karte in der digitalen Geldbörse hat, die Karte auf der Seite mit den Kartendetails entfernt und dann zur Ansicht der digitalen Geldbörse zurückkehrt.
Auf dem Sperrbildschirm wird das Symbol für die digitale Geldbörse angezeigt.
Abbildung 8. Ansicht des leeren Status in der Benutzeroberfläche für den Schnellzugriff auf Karten.
Status ungleich null
Wenn die Wallet-App eine oder mehrere Karten bereitstellt, wird die Kachel in der Benachrichtigungsleiste wie in Abbildung 9 angezeigt.
Abbildung 9. Beispiel für eine Kachel in der Benachrichtigungsleiste, wenn die Wallet-App eine oder mehrere Karten enthält.
Wenn Sie auf die Kachel klicken, wird ein Kartenkarussell angezeigt.
Auf dem Sperrbildschirm wird eine Schaltfläche angezeigt, mit der der Schnellzugriff auf Karten geöffnet wird.
Abbildung 10. Benutzeroberfläche für den Schnellzugriff auf Karten mit einer angezeigten Karte.
Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, wird diese Zahlungsmethode verwendet, wenn das Smartphone an ein NFC-Zahlungsterminal gehalten wird, und die Ansicht der digitalen Geldbörse wird geschlossen.
Wenn Sie auf eine angezeigte Karte klicken, wird die detaillierte Aktivität für diese Karte geöffnet.
Wenn mehrere Karten von
QuickAccessWalletServicebereitgestellt werden, kann der Nutzer zwischen den Karten wischen.Das Überlaufmenü enthält einen Eintrag: Öffnen Sie die Einstellungen für den Sperrbildschirm, damit der Nutzer die Option Wallet anzeigen ändern kann.
Tests des Sperrstatus
- Wenn das Smartphone gesperrt ist, ist die digitale Geldbörse in der Benachrichtigungsleiste für die Schnelleinstellungen sichtbar. Wenn in der Standard-App für Zahlungen keine Karte vorhanden ist, wird die Beschreibung Karte hinzufügen angezeigt. Wenn Karten in der Standard-App für Zahlungen vorhanden sind, wird Zum Verwenden entsperren angezeigt.
- Wenn das Smartphone gesperrt ist, wird die Sichtbarkeit der digitalen Geldbörse auf dem Sperrbildschirm durch die Einstellung
Secure.LOCKSCREEN_SHOW_WALLETgesteuert, die in den Einstellungen konfiguriert wird. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLETauffalsegesetzt ist und in der Standard-App für NFC-Zahlungen keine Karte vorhanden ist, wird die digitale Geldbörse nicht auf dem Sperrbildschirm angezeigt. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLETauftruegesetzt ist und in der Standard-App für NFC-Zahlungen keine Karte vorhanden ist, wird die digitale Geldbörse nicht auf dem Sperrbildschirm angezeigt. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLETauftruegesetzt ist und in der Standard-App für NFC-Zahlungen Karten vorhanden sind, wird die digitale Geldbörse auf dem Sperrbildschirm angezeigt. - Wenn Sie das Smartphone entsperren, während die digitale Geldbörse auf dem Sperrbildschirm angezeigt wird, werden die Karten neu angefordert. Dies kann zu anderen Karteninhalten führen.
Tests der Bedienungshilfen
- TalkBack-Nutzer können in der Ansicht der digitalen Geldbörse navigieren, indem sie nach links und rechts wischen und sich die Inhaltsbeschreibungen der Karten anhören.
- Wenn TalkBack aktiviert ist, wird durch Wischen nach links und rechts jeweils eine Karte ausgewählt. TalkBack-Nutzer können eine NFC-Zahlungsmethode an einem NFC-Zahlungsterminal auswählen und verwenden.
Manuelle Tests für Android 11
Für das Testen der Kernfunktionen des Schnellzugriffs auf Karten sind ein NFC-Zahlungsterminal (echt oder gefälscht) und eine App für NFC-Zahlungen erforderlich, die QuickAccessWalletService implementiert (Wallet-App). Zu den Kernfunktionen, die getestet werden müssen, gehören Verfügbarkeit, Nullstatus, Kartenauswahl und Verhalten des Sperrbildschirms.
Verfügbarkeit
- Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLEDauftruegesetzt ist und die Standard-App für NFC-Zahlungen die Funktion unterstützt, ist der Schnellzugriff auf Karten verfügbar. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLEDauffalsegesetzt ist und die Standard App für NFC-Zahlungen die Funktion unterstützt, ist der Schnellzugriff auf Karten nicht verfügbar. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLEDauftruegesetzt ist und die Standard-App für NFC-Zahlungen die Funktion nicht unterstützt, ist der Schnellzugriff auf Karten nicht verfügbar. - Wenn die
GLOBAL_ACTIONS_PANEL_ENABLEDEinstellung auffalsegesetzt ist und die Standard App für NFC-Zahlungen die Funktion nicht unterstützt, ist der Schnellzugriff auf Karten nicht verfügbar.
Nullstatus
- Wenn
QuickAccessWalletServiceaktiviert und exportiert ist, aber keine Karten bereitstellt, wird in der Benutzeroberfläche für den Schnellzugriff auf Karten die Ansicht des leeren Status angezeigt. Wenn Sie auf die Ansicht des leeren Status klicken, wird die Wallet-App geöffnet.
Abbildung 11. Ansicht des leeren Status in der Benutzeroberfläche für den Schnellzugriff auf Karten.
Status ungleich null
Wenn die Wallet-App eine oder mehrere Karten bereitstellt, werden die Karten in der Benutzeroberfläche für den Schnellzugriff auf Karten angezeigt.
Abbildung 12. Benutzeroberfläche für den Schnellzugriff auf Karten mit einer angezeigten Karte angezeigt. Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, wird diese Zahlungsmethode verwendet, wenn das Smartphone an ein NFC-Zahlungsterminal gehalten wird, und die Ansicht der digitalen Geldbörse wird geschlossen.
Wenn Sie auf eine angezeigte Karte klicken, wird die Ansicht der digitalen Geldbörse geschlossen und die detaillierte Aktivität für diese Karte geöffnet.
Wenn mehrere Karten von
QuickAccessWalletServicebereitgestellt werden, kann der Nutzer zwischen den Karten wischen.Das Überlaufmenü enthält zwei Einträge: einen, mit dem die Wallet-App geöffnet wird, und einen, mit dem der Bildschirm Karten und Tickets anzeigen in den Einstellungen geöffnet wird.
Tests des Sperrstatus
- Wenn das Smartphone gesperrt ist, wird die Sichtbarkeit der digitalen Geldbörse durch die Einstellung
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENTgesteuert, die in den Einstellungen konfiguriert werden kann. - Wenn das Smartphone gesperrt ist und
POWER_MENU_LOCK_SHOW_CONTENTauffalsegesetzt ist, wird die digitale Geldbörse nicht angezeigt. - Wenn das Smartphone gesperrt ist und
POWER_MENU_LOCK_SHOW_CONTENTauftruegesetzt ist, wird die digitale Geldbörse angezeigt. - Wenn Sie das Smartphone entsperren, während die digitale Geldbörse auf dem Sperrbildschirm angezeigt wird, werden die Karten neu angefordert. Dies kann zu anderen Karteninhalten führen.
Tests der Bedienungshilfen
- TalkBack-Nutzer können in der Ansicht der digitalen Geldbörse navigieren, indem sie nach links und rechts wischen und sich die Inhaltsbeschreibungen der Karten anhören.
- Wenn TalkBack aktiviert ist, wird durch Wischen nach links und rechts jeweils eine Karte ausgewählt. TalkBack-Nutzer können eine NFC-Zahlungsmethode an einem NFC-Zahlungsterminal auswählen und verwenden.