La funzionalità di accesso rapido a Wallet, disponibile su Android 11 consente all'utente di accedi a carte di pagamento e tessere pertinenti direttamente dal menu del tasto di accensione. Uso frequente casi includono la selezione del metodo di pagamento appropriato prima di eseguire una una transazione presso un terminale NFC e accedere rapidamente a voli e altri pass per i prossimi eventi.
In Android 12 o versioni successive, l'app Wallet ad accesso rapido è disponibile dal colore come mostrato in Figura 1 e Figura 2.
![]() |
![]() |
In Android 11, la funzionalità è disponibile dal menu del tasto di accensione, come mostrato in Figura 3.
![Accesso rapido alla funzionalità Wallet nel menu del tasto di accensione](https://source.android.google.cn/static/docs/core/connect/images/quick-access-wallet.png?authuser=1&hl=it)
Requisiti
Il dispositivo deve disporre della tecnologia NFC per utilizzare la funzionalità Wallet ad accesso rapido. La funzionalità
si associa a QuickAccessWalletService
dell'app di pagamento NFC predefinita, il che significa
il dispositivo deve supportare anche la tecnologia NFC
host-based card emulation (HCE).
Panoramica delle funzionalità
Il portafoglio ad accesso rapido è costituito da due parti: l'interfaccia utente di Wallet ad accesso rapido e il fornitore della carta Wallet ad accesso rapido.
In Android 12 o versioni successive, l'interfaccia utente di Wallet viene eseguita nella sezione Sistema
nell'interfaccia utente
frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
Nel
Android 11, l'interfaccia utente di Wallet, che si trova in
platform/packages/apps/QuickAccessWallet
,
devono essere installati e inclusi nella lista consentita.
L'emittente della carta Wallet ad accesso rapido è l'app di pagamento NFC predefinita. Gli utenti possono
avere più app di pagamento NFC installate contemporaneamente, ma solo l'app predefinita
L'app di pagamento NFC può mostrare le carte nel menu del tasto di accensione. Puoi specificare quale NFC
l'app di pagamento è inizialmente impostata come predefinita, ma gli utenti possono selezionarne un'altra
nelle Impostazioni. Se è installata una sola app di pagamento NFC, questa diventa
automaticamente (vedi
CardEmulationManager
).
Implementazione
Per fornire carte all'interfaccia utente di Wallet ad accesso rapido, pagamento NFC
le app devono implementare
QuickAccessWalletService
Le app di pagamento devono includere una voce manifest che pubblicizza il servizio.
Per assicurarti che solo l'UI di sistema possa essere associata a QuickAccessWalletService
,
L'app di pagamento NFC deve richiedere
Autorizzazione android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
. Richiesta
autorizzazione garantisce che
solo l'UI di sistema può associarsi a 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>
Nel file XML collegato sono incluse ulteriori informazioni sul portafoglio:
<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"/>
Successivamente, l'app di pagamento deve implementare 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
}
}
Se HostApduService
inizia a gestire una transazione NFC e, di conseguenza,
avvii un'attività per visualizzare lo stato di avanzamento e l'esito del pagamento,
prova anche a ottenere un riferimento a QuickAccessWalletService
associato e a richiamare
QuickAccessWalletService#sendEvent
con il tipo di evento
TYPE_NFC_PAYMENT_STARTED
. Questo fa sì che l'interfaccia utente di Wallet ad accesso rapido
chiusa, consentendo all'utente di avere una visione libera dell'attività di pagamento.
Per ulteriore documentazione sull'implementazione di QuickAccessWalletService
, consulta
QuickAccessWalletService
e ai
TestQuickAccessWalletService
Test CTS.
Attiva l'interfaccia utente di Wallet con accesso rapido in Android 11
Per configurare la disponibilità di Wallet ad accesso rapido dal menu del tasto di accensione
in Android 11, sono incluse le
QuickAccessWallet
target nella build e abilitare il plug-in globalactions.wallet
aggiungendo
la riga in grassetto nell'esempio di codice seguente alla
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>
Specifica l'app di pagamento NFC predefinita nel
file di configurazione delle impostazioni
utilizzando def_nfc_payment_component
.
L'app di pagamento NFC predefinita deve esporre
QuickAccessWalletService
per fornire carte al Wallet ad accesso rapido. Se l'app di pagamento NFC predefinita
non esporta questo servizio, l'interfaccia utente di Wallet è nascosta.
Dettagli implementazione QuickAccessWalletService
QuickAccessWalletService
prevede tre metodi astratti che devono essere implementati:
onWalletCardsRequested
, onWalletCardSelected
e onWalletDismissed
. La
il diagramma seguente illustra una sequenza di chiamate quando il metodo di accesso rapido Wallet
viene visualizzato immediatamente prima di un pagamento NFC.
![Esempio di sequenza di chiamate durante la visualizzazione di Wallet ad accesso rapido](https://source.android.google.cn/static/docs/core/connect/images/wallet-sequence-diagram.png?authuser=1&hl=it)
Non tutte le visualizzazioni del portafoglio ad accesso rapido sono seguite da un pagamento NFC, ma
La Figura 4 qui sopra illustra tutte le funzionalità di
QuickAccessWalletService
. In questo esempio, la carta Wallet ad accesso rapido
il provider implementa gli elementi
contornati in blu. Si presume che il pagamento
le carte sono memorizzate sul dispositivo in un database e sono accessibili tramite un
denominata PaymentCardManager
. Si presume inoltre che un'attività
chiamato PaymentActivity
mostra il risultato di un pagamento NFC. Il flusso
procede nel seguente modo:
- L'utente esegue un gesto per aprire Wallet ad accesso rapido.
L'interfaccia utente di Wallet ad accesso rapido (parte dell'interfaccia utente di sistema) controlla il pacchetto per verificare se l'app di pagamento NFC predefinita esporta
QuickAccessWalletService
.- Se il servizio non viene esportato, il portafoglio di accesso rapido non viene visualizzati.
L'interfaccia utente di Wallet ad accesso rapido si associa ai
QuickAccessWalletService
e chiamaonWalletCardsRequested
. Questo metodo accetta un oggetto richiesta contenente dati sul numero e sulle dimensioni delle schede che possono essere fornite e un callback. Il callback può essere chiamato da un thread in background.QuickAccessWalletService
calcola le schede che vuole visualizzare, quindi chiama il metodoonSuccess
sul callback fornito. È è consigliabile che il servizio esegua queste azioni su un thread in background.Non appena vengono visualizzate le schede, l'UI di sistema invia una notifica
QuickAccessWalletService
che la prima carta è stata selezionata chiamandoonWalletCardSelected
.onWalletCardSelected
viene chiamato ogni volta che l'utente seleziona una nuova carta.onWalletCardSelected
potrebbe essere chiamato anche se al momento la carta selezionata non è cambiata.
Quando l'utente chiude il Wallet ad accesso rapido, l'interfaccia utente di sistema invia una notifica
QuickAccessWalletService
chiamando il numeroonWalletDismissed
.
Nell'esempio precedente, l'utente inserisce il telefono nel raggio d'azione di un pagamento NFC
terminale mentre il portafoglio è visualizzato. Un componente fondamentale della gestione dell'NFC
il pagamento è HostApduService
, che deve essere implementato per elaborare le APDU
fornito dal lettore NFC (per ulteriori informazioni, vedi
Emulazione delle carte basata su host).
Si presuppone che l'app di pagamento avvii un'attività per visualizzare lo stato di avanzamento e
risultato dell'interazione con il terminale NFC. Tuttavia, l'accesso rapido
L'interfaccia utente di Wallet viene visualizzata nella parte superiore della finestra dell'app, a indicare che
l'attività di pagamento è oscurata dall'interfaccia utente di Wallet ad accesso rapido. Per rettificare questo problema,
deve comunicare all'interfaccia utente di sistema che l'interfaccia utente di Wallet ad accesso rapido deve essere
ignorata. Può farlo ottenendo un riferimento al limite
QuickAccessWalletService
e chiamata sendWalletServiceEvent
con l'evento
digita TYPE_NFC_PAYMENT_STARTED
.
Esempio di implementazione di 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();
});
}
}
Per ulteriori dettagli su QuickAccessWalletService
, consulta
Riferimento API QuickAccessWalletService
.
Autorizzazioni
La voce del file manifest QuickAccessWalletService
deve richiedere la proprietà
Autorizzazione android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
introdotta in
Android 11. Questa è un'autorizzazione a livello di firma conservata
dall'UI di sistema, il che significa
solo il processo dell'interfaccia utente di sistema
può essere legato alle implementazioni
QuickAccessWalletService
. Tieni presente che le app installate in sideload possono rivendicarlo
e ottieni l'accesso completo ai dati di QuickAccessWalletService
sui dispositivi
con Android 10 o versioni precedenti. Per evitare che questo accada, consigliamo al servizio
controlla la versione della build in onCreate
e abilita il servizio solo sui dispositivi
con Android 11 e versioni successive. Nessun'altra autorizzazione app
oltre a quelle necessarie per fornire il pagamento tramite emulazione della carta host
i servizi di machine learning.
Se l'app di pagamento NFC predefinita non implementa né esporta
QuickAccessWalletService
, l'interfaccia utente di Wallet ad accesso rapido non viene visualizzata.
Impostazioni in Android 12
Per attivare o disattivare Wallet ad accesso rapido dalla schermata di blocco, gli utenti possono: usa il pulsante di attivazione/disattivazione Mostra portafoglio in Impostazioni > Display > Schermata di blocco. Per disattivare Wallet nell'area, gli utenti devono modificare manualmente nell'area delle impostazioni rapide.
Figura 5. Mostra l'opzione di attivazione/disattivazione di Wallet nella pagina Schermata di blocco in Impostazioni.
Impostazioni in Android 11
Gli utenti possono disattivare la funzionalità Wallet di accesso rapido dall'app Impostazioni. La impostazioni si trova nella Impostazioni > Sistema > Gesti > Schede e pass.
![Pagina Impostazioni per attivare o disattivare la funzionalità Wallet ad accesso rapido](https://source.android.google.cn/static/docs/core/connect/images/cards-passes.png?authuser=1&hl=it)
Personalizzazione
Aggiungi la visualizzazione Wallet ad accesso rapido a un'altra posizione nell'interfaccia utente di sistema
La
UI di Wallet ad accesso rapido
è realizzato come un
plug-in di sistema.
Sebbene l'implementazione AOSP lo utilizzi
GlobalActionsDialog
(visualizzato quando premi a lungo il tasto di accensione), puoi spostare la funzionalità dietro un gesto diverso
purché si mantenga il contratto specificato dall'interfaccia del plug-in.
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);
}
}
La
UI di Wallet ad accesso rapido
implementa GlobalActionsPanelPlugin
e PanelViewController
.
GlobalActionsDialog
ottiene un'istanza del plug-in Wallet utilizzando
com.android.systemui.Dependency
:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Dopo aver verificato che il plug-in sia diverso da null e che PanelViewController
restituito da onPanelShown
non è null, la finestra di dialogo allega il View
fornito
da getPanelContent
al proprio View
e fornisce i callback appropriati per
eventi di sistema.
// 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();
Per rimuovere il wallet di accesso rapido dal menu del tasto di accensione, ometti il
QuickAccessWallet
target dalla build di sistema. Per rimuovere l'accesso rapido
Wallet dal menu del tasto di accensione, ma aggiungerlo a un'altra visualizzazione fornita dall'interfaccia utente di sistema
includi il target della build e rimuovi i riferimenti a GlobalActionsPanelPlugin
da
GlobalActionsImpl
Imposta configurazioni predefinite
Android 12
In Android 12 o versioni successive, il riquadro Wallet ad accesso rapido
sempre visibile nell'area Impostazioni rapide. Visibilità dell’Accesso rapido
L'accesso a Wallet nella schermata di blocco è limitato dalla seguente impostazione di sicurezza:
LOCKSCREEN_SHOW_WALLET
. Questa impostazione stabilisce se il portafoglio di accesso rapido
viene mostrata in basso a destra nella schermata di blocco. L'impostazione è
true
per impostazione predefinita, ma può essere disattivata dall'utente in Impostazioni >
Display > Schermata di blocco > Mostra Wallet.
Android 11
In Android 11, la visibilità di Wallet con accesso rapido è controllata da due impostazioni sicure:
GLOBAL_ACTIONS_PANEL_ENABLED
e GLOBAL_ACTIONS_PANEL_AVAILABLE
. La
L'impostazione di AVAILABLE
consente di stabilire se è possibile attivare e disattivare la funzionalità in
Impostazioni. Questa impostazione è impostata su true
da
WalletPluginService
Se QuickAccessWallet
non è incluso nella build, l'impostazione rimane
false
. L'opzione ENABLED
è impostata su true
per impostazione predefinita nella stessa posizione.
ma può essere disattivato dall'utente nelle Impostazioni. Per modificare il comportamento predefinito,
modifica WalletPluginService#enableFeatureInSettings
.
Convalida
Per convalidare l'implementazione del portafoglio ad accesso rapido, esegui CTS e manuale test. Le modifiche al plug-in devono anche esercitare test robolectrici.
Test CTS
Esegui i test CTS all'indirizzo
cts/tests/quickaccesswallet
Test manuali per Android 12
Il test delle funzionalità principali di Wallet ad accesso rapido richiede un pagamento NFC
terminale (reale o falso) e un'app di pagamento NFC che implementa
QuickAccessWalletService
(app portafoglio). Funzionalità principali che devono essere testate
includono: disponibilità, stato zero, selezione delle carte e comportamento della schermata di blocco.
Disponibilità
- Se l'app di pagamento NFC predefinita non supporta la funzione, il menu L'accesso a Wallet non è accessibile né tramite le impostazioni rapide né il blocco schermo.
- Se l'app di pagamento NFC predefinita supporta la funzione, il metodo di accesso rapido Wallet è accessibile nell'area Impostazioni rapide.
- Se l'app di pagamento NFC predefinita supporta la funzione e se
L'impostazione
LOCKSCREEN_SHOW_WALLET
ètrue
, il portafoglio ad accesso rapido è accessibili dalla schermata di blocco. - Se l'app di pagamento NFC predefinita supporta la funzione e se
L'impostazione di
LOCKSCREEN_SHOW_WALLET
èfalse
, mentre Wallet ad accesso rapido non lo è accessibili dalla schermata di blocco.
Stato zero
Se
QuickAccessWalletService
è abilitato ed esportato, ma non lo è inserisci eventuali schede, il riquadro nell'ombra appare come mostrato nella nella Figura 7. Se fai clic sul riquadro, si apre l'app di pagamento NFC predefinita.Figura 7. Riquadro di esempio nell'area che mostra l'app di pagamento NFC predefinita.
Facendo clic sulla visualizzazione dello stato vuoto, come mostrato nella Figura 8, si apre la app di pagamento NFC predefinita. Questa visualizzazione dello stato vuota viene mostrata solo quando l'utente ha ancora una carta nel portafoglio, la rimuove dai dettagli della carta per tornare alla visualizzazione Wallet.
La schermata di blocco mostra l'icona Wallet.
Figura 8. Visualizzazione dello stato vuota nell'interfaccia utente di Wallet ad accesso rapido.
Stato diverso da zero
Se l'app Wallet fornisce una o più carte, il riquadro nell'area come mostrato nella Figura 9.
Figura 9. Riquadro di esempio nell'area quando l'app Wallet ha una o più carte.
Se fai clic sul riquadro, viene visualizzato un carosello di schede.
Nella schermata di blocco è presente un pulsante che consente di aprire Wallet ad accesso rapido.
Figura 10. UI di Wallet ad accesso rapido con una scheda visualizzata.
Se la carta visualizzata rappresenta un metodo di pagamento NFC, tieni presente che telefono a un terminale di pagamento NFC comporta l'utilizzo di tale metodo di pagamento e la visualizzazione Wallet viene ignorata.
Se fai clic su una scheda visualizzata, si apre l'attività dettagliata della scheda.
Se
QuickAccessWalletService
fornisce più carte, l'utente possa scorrere le schede.Il menu extra contiene una voce: aprire le impostazioni della schermata di blocco che l'utente può modificare l'opzione Mostra portafoglio.
Test dello stato di blocco
- Se lo smartphone è bloccato, il portafoglio è visibile nelle impostazioni rapide l'area, con la descrizione Aggiungi una carta se non esiste una carta predefinita app di pagamento o sbloccarla per utilizzarla se sono presenti carte nell'app per pagamenti predefinita.
- Se il telefono è bloccato, la visibilità di Wallet sulla schermata di blocco è
controllata dall'impostazione
Secure.LOCKSCREEN_SHOW_WALLET
, che è controllato nelle Impostazioni. - Se lo smartphone è bloccato,
LOCKSCREEN_SHOW_WALLET
èfalse
e nessuna carta esiste nell'app di pagamento NFC predefinita, il portafoglio non viene visualizzato schermata di blocco. - Se lo smartphone è bloccato,
LOCKSCREEN_SHOW_WALLET
ètrue
e nessuna carta esiste nell'app di pagamento NFC predefinita, il portafoglio non viene visualizzato schermata di blocco. - Se il telefono è bloccato, il valore di
LOCKSCREEN_SHOW_WALLET
ètrue
e le carte esistono nell'app di pagamento NFC predefinita, il portafoglio è visualizzato sulla serratura schermo. - Sblocco dello smartphone mentre il portafoglio è visualizzato sulla serratura la schermata mostra le schede con cui viene effettuata una query, diversi contenuti delle schede.
Test di accessibilità
- Gli utenti di TalkBack possono navigare nella visualizzazione Wallet scorrendo verso sinistra e verso destra e ascoltando le descrizioni dei contenuti nelle schede.
- Se scorri verso sinistra e verso destra con TalkBack attivato, puoi selezionare le schede una alla volta. Gli utenti di TalkBack possono selezionare e utilizzare un metodo di pagamento NFC tramite un pagamento NFC o nel terminale.
Test manuali per Android 11
Il test delle funzionalità principali di Wallet ad accesso rapido richiede un pagamento NFC
terminale (reale o falso) e un'app di pagamento NFC che implementa
QuickAccessWalletService
(app portafoglio). Funzionalità principali che devono essere testate
includono disponibilità, stato zero, selezione delle carte e comportamento della schermata di blocco.
Disponibilità
- Se l'impostazione
GLOBAL_ACTIONS_PANEL_ENABLED
ètrue
e il valore predefinito L'app per pagamenti NFC supporta la funzionalità, il portafoglio ad accesso rapido è accessibile. - Se l'impostazione
GLOBAL_ACTIONS_PANEL_ENABLED
èfalse
e il valore predefinito L'app di pagamento NFC supporta la funzionalità, il portafoglio ad accesso rapido non accessibili. - Se l'impostazione
GLOBAL_ACTIONS_PANEL_ENABLED
ètrue
e il valore predefinito L'app di pagamento NFC non supporta la funzionalità Wallet ad accesso rapido non accessibile. - Se l'impostazione
GLOBAL_ACTIONS_PANEL_ENABLED
èfalse
e il valore predefinito L'app di pagamento NFC non supporta la funzionalità Wallet ad accesso rapido non accessibile.
Stato zero
- Se
QuickAccessWalletService
è abilitato ed esportato, ma non lo è fornire eventuali carte, l'interfaccia utente di Wallet ad accesso rapido mostra la visualizzazione dello stato vuota. Se fai clic sulla visualizzazione dello stato vuota, si apre l'app Wallet.
Figura 11. Visualizzazione dello stato vuota nell'accesso rapido UI di Wallet.
Stato diverso da zero
Se l'app Wallet fornisce una o più carte, le carte vengono visualizzate nell'interfaccia utente di Wallet ad accesso rapido.
Figura 12. UI di Wallet ad accesso rapido con una carta visualizzati. Se la carta visualizzata rappresenta un metodo di pagamento NFC, tieni in mano telefono a un terminale di pagamento NFC comporta l'utilizzo di tale metodo di pagamento e la visualizzazione Wallet viene ignorata.
Se fai clic su una carta mostrata, la visualizzazione Wallet viene chiusa e si apre attività dettagliate per la scheda in questione.
Se
QuickAccessWalletService
fornisce più carte, l'utente possa scorrere le schede.Il menu extra contiene due voci: una per aprire l'app Wallet e quello che apre la sezione Mostra schede e la schermata delle tessere nelle Impostazioni.
Test dello stato di blocco
- Se il telefono è bloccato, la visibilità del portafoglio è controllata dal
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
, che può essere controllato nelle Impostazioni. - Se lo smartphone è bloccato e
POWER_MENU_LOCK_SHOW_CONTENT
èfalse
, il Wallet non è visualizzato. - Se lo smartphone è bloccato e
POWER_MENU_LOCK_SHOW_CONTENT
ètrue
, il È visualizzato Wallet. - Sblocco dello smartphone mentre il portafoglio è visualizzato sulla serratura la schermata mostra le schede con una nuova query, il che potrebbe diversi contenuti delle schede.
Test di accessibilità
- Gli utenti di TalkBack possono navigare nella visualizzazione Wallet scorrendo verso sinistra e verso destra e ascoltando le descrizioni dei contenuti nelle schede.
- Scorrendo verso sinistra e verso destra con TalkBack attivato, si seleziona una scheda alla volta. Gli utenti di TalkBack possono selezionare e utilizzare un metodo di pagamento NFC tramite un pagamento NFC o nel terminale.