Funkcja portfela szybkiego dostępu od Android 11 pozwala użytkownikowi uzyskać dostęp do kart płatniczych i odpowiednich biletów bezpośrednio z menu zasilania. Częste zastosowanie wyboru odpowiedniej formy płatności przed dokonaniem płatności z użyciem terminala NFC i szybkiego dostępu do lotów oraz innych kart. o nadchodzących wydarzeniach.
Na Androidzie 12 lub nowszym portfel Szybki dostęp jest dostępna w obszarze powiadomień, tak jak na ilustracjach 1 i 2.
W Androidzie 11 ta funkcja jest dostępna w menu zasilania, jak pokazano na Rysunek 3.
Wymagania
Aby można było korzystać z Portfela szybkiego dostępu, urządzenie musi obsługiwać komunikację NFC. Funkcja
wiąże się z QuickAccessWalletService
domyślnej aplikacji płatniczej NFC, co oznacza,
(urządzenie musi również obsługiwać komunikację NFC)
HCE (host-based card emulation, HCE);
Omówienie funkcji
Portfel Szybki dostęp składa się z dwóch części: interfejsu Portfela szybkiego dostępu oraz dostawcy karty Portfela szybkiego dostępu.
Na Androidzie 12 lub nowszym interfejs Portfela działa w systemie
interfejsu użytkownika i znajduje się w:
frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
W
Android 11, interfejs Portfela, który znajduje się na
platform/packages/apps/QuickAccessWallet
,
musi zostać zainstalowana i umieszczona na białej liście.
Dostawca karty Portfela szybkiego dostępu to domyślna aplikacja płatnicza NFC. Użytkownicy mogą
mieć zainstalowanych wiele aplikacji do płatności z użyciem NFC, ale tylko domyślne.
Aplikacja płatnicza NFC może wyświetlać karty w menu zasilania. Możesz określić, która komunikacja NFC
aplikacja płatnicza jest początkowo domyślna, ale użytkownicy mogą wybrać inną
aplikację w Ustawieniach. Jeśli zainstalowana jest tylko jedna aplikacja płatnicza z użyciem NFC, staje się ona
domyślnie (zobacz
CardEmulationManager
).
Implementacja
Aby udostępnić karty w interfejsie Portfela szybkiego dostępu, płatność NFC
muszą zaimplementować aplikacje
QuickAccessWalletService
Aplikacje do wykonywania płatności muszą zawierać wpis w pliku manifestu reklamujący tę usługę.
Aby mieć pewność, że tylko interfejs systemu może być powiązany z polem QuickAccessWalletService
,
Aplikacja płatnicza NFC musi wymagać:
android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
. To wymaganie
daje gwarancję,
tylko interfejs systemu może powiązać z elementem QuickAccessWalletService
.
<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>
Dodatkowe informacje o portfelu znajdują się w połączonym pliku XML:
<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"/>
Następnie aplikacja płatnicza musi zaimplementować QuickAccessWalletService
:
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
}
}
Jeśli HostApduService
zacznie obsługiwać transakcję NFC i w rezultacie
rozpoczyna aktywność, aby wyświetlić postęp i wynik płatności,
również spróbuj uzyskać odwołanie do powiązanego elementu QuickAccessWalletService
i wywołaj
QuickAccessWalletService#sendEvent
z typem zdarzenia
TYPE_NFC_PAYMENT_STARTED
Sprawia to, że interfejs Portfela w szybkim dostępie
są zamykane, dzięki czemu użytkownik może nie przesłonić procesu płatności.
Dodatkową dokumentację dotyczącą wdrażania funkcji QuickAccessWalletService
znajdziesz tutaj:
QuickAccessWalletService
oraz
TestQuickAccessWalletService
test CTS.
Włączanie interfejsu Portfela w ramach szybkiego dostępu na Androidzie 11
Aby skonfigurować Portfel szybkiego dostępu, aby był dostępny w menu zasilania
w Androidzie 11 dodaj
QuickAccessWallet
w kompilacji i włącz wtyczkę globalactions.wallet
, dodając
pogrubiony wiersz w przykładowym kodzie poniżej do
overlay/frameworks/base/packages/SystemUI/res/values/config.xml
.
<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>
Określ domyślną aplikację płatniczą NFC w
plik konfiguracji ustawień
za pomocą funkcji def_nfc_payment_component
.
Domyślna aplikacja płatnicza NFC musi udostępniać
QuickAccessWalletService
aby udostępnić karty do Portfela szybkiego dostępu. Jeśli domyślna aplikacja płatnicza NFC
nie eksportuje tej usługi, interfejs Portfela jest ukryty.
Szczegóły implementacji usługi QuickAccessWalletService
QuickAccessWalletService
udostępnia 3 abstrakcyjne metody, które należy wdrożyć:
onWalletCardsRequested
, onWalletCardSelected
i onWalletDismissed
.
schemat sekwencji poniżej przedstawia sekwencję wywołań, gdy portfel szybkiego dostępu
jest sprawdzana bezpośrednio przed płatnością NFC.
Nie po wszystkich wyświetleniach Portfela szybkiego dostępu następuje płatność przez NFC,
Rysunek 4 powyżej ilustruje wszystkie możliwości
QuickAccessWalletService
W tym przykładzie:
dostawca stosuje elementy zaznaczone na niebiesko. Zakładamy, że płatność
są przechowywane na urządzeniu w bazie danych i można uzyskać do nich dostęp
interfejsu o nazwie PaymentCardManager
. Zakładamy też, że działanie
PaymentActivity
pokazuje wynik płatności z użyciem NFC. Sposób działania
wygląda tak:
- Użytkownik wykonuje gest, aby otworzyć Portfel szybkiego dostępu.
Interfejs Portfela szybkiego dostępu (część interfejsu systemu) sprawdza pakiet by sprawdzić, czy eksportowana jest domyślna aplikacja płatnicza NFC
QuickAccessWalletService
- Jeśli usługa nie zostanie wyeksportowana, Portfel szybkiego dostępu nie zostanie wyeksportowany .
Interfejs Portfela Szybki dostęp jest powiązany z
QuickAccessWalletService
oraz dzwoni pod numeronWalletCardsRequested
. Ta metoda przyjmuje obiekt żądania zawierające dane o liczbie i rozmiarze dostępnych kart. i oddzwonienie. Wywołanie zwrotne można wywołać z wątku w tle.QuickAccessWalletService
oblicza karty, które chce wyświetlić, a następnie wywołuje metodęonSuccess
w podanym wywołaniu zwrotnym. Jest zalecił wykonanie tych działań przez usługę w wątku w tle.Gdy tylko karty się wyświetlą, interfejs systemu powiadomi o tym
QuickAccessWalletService
, że wywołano pierwszą kartęonWalletCardSelected
- Funkcja
onWalletCardSelected
jest wywoływana za każdym razem, gdy użytkownik wybierze opcję nową kartę. - Funkcja
onWalletCardSelected
może zostać wywołana nawet wtedy, gdy obecnie Wybrana karta nie uległa zmianie.
- Funkcja
Gdy użytkownik zamknie portfel szybkiego dostępu, interfejs systemu powiadomi go o tym
QuickAccessWalletService
, dzwoniąc pod numeronWalletDismissed
.
W powyższym przykładzie użytkownik ustawia telefon w zasięgu płatności NFC.
w dowolnym momencie wyświetlania portfela. Kluczowy element obsługi NFC
Płatności to HostApduService
, które należy wdrożyć, aby przetwarzać oferty na Androida
dostarczany przez czytnik NFC (więcej informacji znajdziesz w
Emulacja kart hosta).
Zakładamy, że aplikacja płatnicza rozpoczyna aktywność, aby wyświetlić postęp
w wyniku interakcji z terminalem NFC. Jednak Szybki dostęp
U góry okna aplikacji wyświetla się interfejs Portfela, co oznacza, że
aktywność związana z płatnościami jest zasłonięta przez interfejs Portfela w szybkim dostępie. Aby to naprawić,
aplikacja musi powiadomić UI systemu, że powinien
odrzucono. Można to zrobić, uzyskując odwołanie do granicy
QuickAccessWalletService
i wywołuję sendWalletServiceEvent
ze zdarzeniem
wpisz TYPE_NFC_PAYMENT_STARTED
.
Przykładowa implementacja 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();
});
}
}
Więcej informacji na temat QuickAccessWalletService
:
Dokumentacja API QuickAccessWalletService
.
Uprawnienia
Wpis w pliku manifestu dotyczący domeny QuickAccessWalletService
musi wymagać atrybutu
Wprowadzono uprawnienie android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
Android 11. Posiadane jest uprawnienie na poziomie podpisu
przez interfejs systemu, co oznacza, że
tylko proces interfejsu systemu może powiązać z implementacjami
QuickAccessWalletService
Pamiętaj, że aplikacje zainstalowane z innego urządzenia mogą zgłosić własność
uprawnienia i pełny dostęp do danych QuickAccessWalletService
na urządzeniach
z Androidem 10 lub starszym. Aby temu zapobiec, zaleca się, aby usługa
sprawdź wersję kompilacji w onCreate
i włącz usługę tylko na urządzeniach
z Androidem 11 lub nowszym. Brak innych uprawnień aplikacji
są wymagane oprócz tych niezbędnych do obsługi płatności emulacją karty hosta
usług Google.
Jeśli domyślna aplikacja płatnicza z użyciem NFC nie jest zaimplementowana lub nie eksportuje
QuickAccessWalletService
, interfejs Portfela w szybkim dostępie nie jest widoczny.
Ustawienia w Androidzie 12
Aby włączyć lub wyłączyć Portfel z szybkim dostępem na ekranie blokady, użytkownicy mogą: użyj przełącznika Pokaż portfel w Ustawieniach > Wyświetlacz > Ekran blokady Aby wyłączyć portfel w cieniu, użytkownicy muszą ręcznie edytować w sekcji Szybkie ustawienia.
Rysunek 5. Pokaż przełącznik portfela na stronie Ekran blokady w Ustawieniach.
Ustawienia w Androidzie 11
Użytkownicy mogą wyłączyć funkcję Portfela szybkiego dostępu w aplikacji Ustawienia. strona ustawień znajduje się w Ustawienia > System > Gesty > Karty i .
Dostosowywanie
Dodaj widok Portfela Szybki dostęp do innej lokalizacji w interfejsie systemu
Interfejs Portfela w szybkim dostępie
została stworzona
wtyczka systemowa.
Chociaż implementacja AOSP korzysta z niego
GlobalActionsDialog
(widoczne po długim naciśnięciu przycisku zasilania) możesz przenieść funkcję za innym gestem.
tak długo, jak będziesz przestrzegać umowy określonej przez interfejs wtyczki.
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);
}
}
Interfejs Portfela w szybkim dostępie
implementuje GlobalActionsPanelPlugin
i PanelViewController
.
GlobalActionsDialog
pobiera instancję wtyczki portfela za pomocą funkcji
com.android.systemui.Dependency
:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Po sprawdzeniu, czy wtyczka nie ma wartości null i czy PanelViewController
zwracana przez funkcję onPanelShown
ma wartość inną niż null, okno zawiera dołączone View
przez getPanelContent
do jej własnej wartości View
i wyświetla odpowiednie wywołania zwrotne dla
zdarzeń systemowych.
// 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();
Aby usunąć Portfel szybkiego dostępu z menu zasilania, pomiń
QuickAccessWallet
cel z kompilacji systemu. Aby usunąć Szybki dostęp
z menu zasilania, ale dodaj go w innym widoku interfejsu systemu
uwzględnij cel kompilacji i usuń odwołania do GlobalActionsPanelPlugin
od
GlobalActionsImpl
Ustaw konfiguracje domyślne
Android 12
Na Androidzie 12 i nowszych Portfel z szybkim dostępem jest
zawsze widoczne w obszarze szybkich ustawień. Widoczność Szybkiego dostępu
Portfel na ekranie blokady jest objęty tym bezpiecznym ustawieniem:
LOCKSCREEN_SHOW_WALLET
To ustawienie określa, czy Portfel z szybkim dostępem
jest widoczna w prawym dolnym rogu ekranu blokady. Obecne ustawienie:
true
(domyślnie), ale użytkownik może je wyłączyć w Ustawieniach >
Wyświetlacz > Ekran blokady > Pokaż portfel.
Android 11
W Androidzie 11 widoczność Portfela w Szybkim dostępie jest ograniczona przez 2 bezpieczne ustawienia:
GLOBAL_ACTIONS_PANEL_ENABLED
i GLOBAL_ACTIONS_PANEL_AVAILABLE
.
Ustawienie AVAILABLE
określa, czy tę funkcję można włączać i wyłączać w
Ustawienia. To ustawienie ma wartość true
przez użytkownika
WalletPluginService
Jeśli w kompilacji nie uwzględniono QuickAccessWallet
, ustawienie się nie zmieni
false
Ustawienie ENABLED
ma w tym samym miejscu domyślną wartość true
.
ale użytkownik może je wyłączyć w Ustawieniach. Aby zmienić działanie domyślne:
modyfikuj: WalletPluginService#enableFeatureInSettings
.
Weryfikacja
Aby sprawdzić poprawność implementacji Portfela szybkiego dostępu, uruchom CTS i ręcznie testów. Zmiany wtyczki powinny uwzględniać również dołączone testów roboelektrycznych.
Testy CTS
Uruchom testy CTS na stronie
cts/tests/quickaccesswallet
Testy ręczne na Androidzie 12
Testowanie podstawowych funkcji portfela szybkiego dostępu wymaga płatności NFC
terminala (prawdziwego lub fałszywego) oraz aplikacji płatniczej z NFC,
QuickAccessWalletService
(aplikacja portfela). Główne funkcje, które należy przetestować
m.in. dostępność, stan zero, wybór karty i działanie ekranu blokady.
Dostępność
- Jeśli domyślna aplikacja płatnicza NFC nie obsługuje tej funkcji, Portfel nie jest dostępny ani w szybkich ustawieniach, ani w blokadzie ekranu.
- Jeśli domyślna aplikacja płatnicza NFC ją obsługuje, Portfel jest dostępny w sekcji Szybkich ustawień.
- Jeśli domyślna aplikacja płatnicza NFC ją obsługuje,
Ustawienie
LOCKSCREEN_SHOW_WALLET
ma wartośćtrue
, a Portfel Szybki dostęp to dostępne na ekranie blokady. - Jeśli domyślna aplikacja płatnicza NFC ją obsługuje,
Ustawienie
LOCKSCREEN_SHOW_WALLET
ma wartośćfalse
, a Portfel Szybki dostęp – nie dostępne na ekranie blokady.
Stan zerowy
Jeśli usługa
QuickAccessWalletService
jest włączona i wyeksportowana, ale nie jest ani karty, kafelek w cieniu jest widoczny przykład na rys. 7. Kliknięcie kafelka powoduje otwarcie domyślnej aplikacji płatniczej przez NFC.Rysunek 7. Przykładowy kafelek w cieniu przedstawiający domyślną aplikację płatniczą NFC.
Kliknięcie pustego widoku stanu, jak pokazano na rys. 8, powoduje otwarcie domyślną aplikacją płatniczą NFC. Pusty widok stanu jest wyświetlany tylko wtedy, gdy użytkownik ma jedną kartę w portfelu, usuwa ją ze szczegółów karty a następnie do widoku portfela.
Na ekranie blokady widoczna jest ikona portfela.
Rysunek 8. Pusty widok stanu w interfejsie Portfela szybkiego dostępu.
Stan inny niż zero
Jeśli w aplikacji portfela dostępnych jest co najmniej 1 karta, kafelek w cieniu jak pokazano na rys. 9.
Rysunek 9. Przykładowy kafelek w cieniu, gdy aplikacja portfela ma co najmniej 1 kartę.
Kliknięcie kafelka powoduje wyświetlenie karuzeli kart.
Ekran blokady pokazuje przycisk otwierający Portfel szybkiego dostępu.
Rysunek 10. Widok interfejsu Portfela w Szybkim dostępie z wyświetloną kartą.
Jeśli wyświetlana karta reprezentuje formę płatności z użyciem NFC, przytrzymaj gdy zbliżysz telefon do terminala płatniczego, użyj tej formy płatności a widok portfela zostanie zamknięty.
Kliknięcie wyświetlonej karty otwiera szczegółową aktywność związaną z tą kartą.
Jeśli
QuickAccessWalletService
dostarczył(a) kilka kart, użytkownik może przesuwać karty.Rozszerzone menu zawiera jeden wpis: otwórz ustawienia ekranu blokady, użytkownik może zmienić opcję Pokaż portfel.
Testy stanu blokady
- Jeśli telefon jest zablokowany, portfel jest widoczny w szybkich ustawieniach Obszar roboczy z opisem Dodaj kartę, jeśli domyślnie nie ma karty. w aplikacji płatniczej lub odblokuj, aby używać, jeśli w domyślnej aplikacji płatniczej są karty.
- Jeśli telefon jest zablokowany, widoczność portfela na ekranie blokady będzie
zależy od ustawienia
Secure.LOCKSCREEN_SHOW_WALLET
, które jest możesz zmienić w Ustawieniach. - Jeśli telefon jest zablokowany, karta
LOCKSCREEN_SHOW_WALLET
jestfalse
i nie ma karty znajduje się w domyślnej aplikacji płatniczej NFC, portfel nie będzie widoczny na ekranu blokady. - Jeśli telefon jest zablokowany, karta
LOCKSCREEN_SHOW_WALLET
jesttrue
i nie ma karty znajduje się w domyślnej aplikacji płatniczej NFC, portfel nie będzie widoczny na ekranu blokady. - Jeśli telefon jest zablokowany, karta
LOCKSCREEN_SHOW_WALLET
jesttrue
, a karty w domyślnej aplikacji płatniczej NFC, portfel jest widoczny na zamku ekranu. - odblokowywanie telefonu, gdy portfel jest widoczny na zamku. powoduje ponowne wysłanie zapytań o karty, co może spowodować różne treści karty.
Testy ułatwień dostępu
- Użytkownicy TalkBack mogą poruszać się po widoku portfela, przesuwając palcem w lewo i w prawo oraz słuchanie opisów treści na kartach.
- Przesuwanie palcem w lewo i w prawo przy włączonej funkcji TalkBack powoduje kolejne karty. Użytkownicy TalkBack mogą wybrać i używać formy płatności NFC podczas płatności z użyciem NFC złącze.
Testy ręczne na Androidzie 11
Testowanie podstawowych funkcji portfela szybkiego dostępu wymaga płatności NFC
terminala (prawdziwego lub fałszywego) oraz aplikacji płatniczej z NFC,
QuickAccessWalletService
(aplikacja portfela). Główne funkcje, które należy przetestować
obejmują dostępność, stan zero, wybór karty i działanie ekranu blokady.
Dostępność
- Jeśli
GLOBAL_ACTIONS_PANEL_ENABLED
ma wartośćtrue
i ustawienie domyślne Aplikacja do płatności NFC obsługuje tę funkcję, a portfel Szybki dostęp jest dostępny. - Jeśli
GLOBAL_ACTIONS_PANEL_ENABLED
ma wartośćfalse
i ustawienie domyślne Aplikacja do płatności NFC obsługuje tę funkcję, a portfel szybkiego dostępu nie i łatwo dostępnych rozwiązań. - Jeśli
GLOBAL_ACTIONS_PANEL_ENABLED
ma wartośćtrue
i ustawienie domyślne Aplikacja płatnicza z użyciem NFC nie obsługuje tej funkcji – portfela szybkiego dostępu nie są dostępne. - Jeśli
GLOBAL_ACTIONS_PANEL_ENABLED
ma wartośćfalse
i ustawienie domyślne Aplikacja płatnicza z użyciem NFC nie obsługuje tej funkcji – portfela szybkiego dostępu nie są dostępne.
Stan zerowy
- Jeśli usługa
QuickAccessWalletService
jest włączona i wyeksportowana, ale nie jest ani karty, interfejs Portfela w szybkim dostępie wyświetli pusty widok stanu. Kliknięcie pustego widoku stanu otwiera aplikację portfela.
Stan inny niż zero
Jeśli aplikacja Portfel obsługuje co najmniej jedną kartę, zostaną one wyświetlone. w interfejsie Portfela szybkiego dostępu.
Jeśli wyświetlana karta reprezentuje formę płatności z użyciem NFC, przytrzymaj gdy zbliżysz telefon do terminala płatniczego, użyj tej formy płatności a widok portfela zostanie zamknięty.
Kliknięcie wyświetlanej karty powoduje zamknięcie widoku portfela i otwarcie szczegółowe dane o aktywności związanej z tą kartą.
Jeśli
QuickAccessWalletService
dostarczył(a) kilka kart, użytkownik może przesuwać karty.Rozszerzone menu zawiera dwie pozycje: jedną otwierającą aplikację Portfel i otwierające Pokaż karty karty w Ustawieniach.
Testy stanu blokady
- Gdy telefon jest zablokowany, widoczność portfela jest określana przez
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
, którym może być możesz zmienić w Ustawieniach. - Jeśli telefon jest zablokowany, a
POWER_MENU_LOCK_SHOW_CONTENT
ma stanfalse
, nie jest wyświetlany. - Jeśli telefon jest zablokowany, a
POWER_MENU_LOCK_SHOW_CONTENT
ma stantrue
, Portfel Google jest wyświetlany. - odblokowywanie telefonu, gdy portfel jest widoczny na zamku. powoduje ponowne wysłanie zapytania do karty, co może spowodować różne treści karty.
Testy ułatwień dostępu
- Użytkownicy TalkBack mogą poruszać się po widoku portfela, przesuwając palcem w lewo i w prawo oraz słuchanie opisów treści na kartach.
- Przesunięcie palcem w lewo i w prawo przy włączonym TalkBack powoduje kolejne karty. Użytkownicy TalkBack mogą wybrać formę płatności z NFC i z niej korzystać podczas płatności z użyciem NFC złącze.