התכונה 'ארנק גישה מהירה', שזמינה בגרסה Android 11 ואילך, מאפשרת למשתמש לגשת לכרטיסי תשלום ולכרטיסים רלוונטיים אחרים ישירות מתפריט ההפעלה. תרחישים לדוגמה כוללים בחירת אמצעי התשלום המתאים לפני ביצוע עסקה במסוף NFC, וגישה מהירה לטיסות ולכרטיסים אחרים לאירועים קרובים.
ב-Android מגרסה 12 ואילך, התכונה 'גישה מהירה ל-Wallet' זמינה מהצללית, כפי שמוצג בתמונה 1 ובתמונה 2.
![]() |
![]() |
ב-Android 11, התכונה זמינה בתפריט ההפעלה, כפי שמוצג באיור 3.

הדרישות
כדי להשתמש בתכונה 'גישה מהירה ל-Wallet', צריך שיהיו במכשיר שלכם יכולות NFC. התכונה מצורפת ל-QuickAccessWalletService
של אפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC, כלומר המכשיר צריך לתמוך גם ב-NFC אמולציה של כרטיס מבוסס מארח (HCE).
סקירה כללית של התכונות
לארנק הגישה המהירה יש שני חלקים: ממשק המשתמש של ארנק הגישה המהירה וספק הכרטיסים של ארנק הגישה המהירה.
ב-Android מגרסה 12 ואילך, ממשק המשתמש של Wallet פועל בממשק המשתמש של המערכת וממוקם ב-frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
. ב-Android 11, צריך להתקין את ממשק המשתמש של Wallet, שנמצא ב-platform/packages/apps/QuickAccessWallet
, ולהוסיף אותו לרשימת ההיתרים.
ספק הכרטיס ב-Wallet לגישה מהירה הוא אפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC. המשתמשים יכולים להתקין כמה אפליקציות תשלומים ב-NFC בו-זמנית, אבל רק אפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC יכולה להציג כרטיסים בתפריט ההפעלה. אתם יכולים לציין איזו אפליקציית תשלום ב-NFC תוגדר כברירת המחדל בהתחלה, אבל המשתמשים יכולים לבחור אפליקציה אחרת בהגדרות. אם מותקנת רק אפליקציית תשלום אחת שתומכת ב-NFC, היא תהפוך לברירת המחדל באופן אוטומטי (מידע נוסף זמין במאמר CardEmulationManager
).
הטמעה
כדי לספק כרטיסים לממשק המשתמש של Wallet לגישה מהירה, אפליקציות תשלומים ב-NFC צריכות להטמיע את QuickAccessWalletService
.
אפליקציות תשלומים חייבות לכלול רשומה במניפסט שמפרסמת את השירות.
כדי לוודא שרק ממשק המשתמש של המערכת יכול לקשר ל-QuickAccessWalletService
, אפליקציית התשלומים ב-NFC צריכה לדרוש את ההרשאה android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
. הדרישה להרשאה הזו מבטיחה שרק ממשק המשתמש של המערכת יוכל לקשר ל-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>
מידע נוסף על הארנק כלול בקובץ ה-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"/>
לאחר מכן, אפליקציית התשלומים צריכה להטמיע את 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
}
}
אם HostApduService
מתחיל לטפל בעסקת NFC וכתוצאה מכך מתחיל פעילות כדי להציג את ההתקדמות והתוצאה של התשלום, הוא צריך גם לנסות לקבל הפניה ל-QuickAccessWalletService
המקושר ולקרוא ל-QuickAccessWalletService#sendEvent
עם סוג האירוע TYPE_NFC_PAYMENT_STARTED
. הפעולה הזו גורמת לסגירת ממשק המשתמש של Wallet לגישה מהירה, וכך מאפשרת למשתמש לראות את פעילות התשלומים ללא הפרעה.
למסמכי עזרה נוספים בנושא הטמעת QuickAccessWalletService
, ראו QuickAccessWalletService
ובדיקה של TestQuickAccessWalletService
ב-CTS.
הפעלת ממשק המשתמש של Wallet לגישה מהירה ב-Android 11
כדי להגדיר את Wallet לגישה מהירה כך שיהיה זמין מתפריט ההפעלה ב-Android 11, צריך לכלול את היעד QuickAccessWallet
ב-build ולהפעיל את הפלאגין globalactions.wallet
על ידי הוספת השורה המודגשת בדוגמת הקוד שבהמשך לקובץ 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>
מציינים את אפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC בקובץ התצורה של ההגדרות באמצעות def_nfc_payment_component
.
אפליקציית ברירת המחדל לתשלומים ב-NFC צריכה לחשוף את QuickAccessWalletService
כדי לספק כרטיסים לארנק הגישה המהירה. אם אפליקציית התשלום שמוגדרת כברירת מחדל ל-NFC לא מייצאת את השירות הזה, ממשק המשתמש של הארנק מוסתר.
פרטי ההטמעה של QuickAccessWalletService
ל-QuickAccessWalletService
יש שלושה שיטות מופשטים שצריך להטמיע:
onWalletCardsRequested
, onWalletCardSelected
ו-onWalletDismissed
. בתרשים התהליך הבא מוצגת רצף הקריאות כשהתצוגה של Wallet לגישה מהירה מוצגת מיד לפני תשלום ב-NFC.

לא כל הצפיות ב-Wallet לגישה מהירה מובאות לתשלום באמצעות NFC, אבל באיור 4 למעלה מפורטות כל היכולות של QuickAccessWalletService
. בדוגמה הזו, ספק הכרטיס של Quick Access Wallet מטמיע את הרכיבים שמסומנים בכחול. ההנחה היא שכרטיסי תשלום נשמרים במכשיר במסד נתונים, והגישה אליהם מתבצעת דרך ממשק בשם PaymentCardManager
. בנוסף, ההנחה היא שפעילות שנקראת PaymentActivity
מציגה את התוצאה של תשלום באמצעות NFC. התהליך מתבצע באופן הבא:
- המשתמש מבצע תנועה כדי להציג את Wallet לגישה מהירה.
ממשק המשתמש של ארנק הגישה המהירה (חלק מממשק המשתמש של המערכת) בודק את מנהל החבילות כדי לראות אם אפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC מייצאת את
QuickAccessWalletService
.- אם לא מייצאים את השירות, האפשרות'Wallet לגישה מהירה' לא תוצג.
ממשק המשתמש של Wallet לגישה מהירה מתחבר ל-
QuickAccessWalletService
ומפעיל אתonWalletCardsRequested
. ה-method הזה מקבל אובייקט בקשה שמכיל נתונים על המספר והגודל של הכרטיסים שאפשר לספק, וכן פונקציית קריאה חוזרת. אפשר להפעיל את הפונקציה החוזרת משרשור ברקע.QuickAccessWalletService
מחשב את הכרטיסים שהוא רוצה להציג, ואז קורא לשיטהonSuccess
ב-callback שסופק. מומלץ שהשירות יבצע את הפעולות האלה בשרשור ברקע.ברגע שהכרטיסים מוצגים, ממשק המשתמש של המערכת מודיע ל-
QuickAccessWalletService
שהכרטיס הראשון נבחר, באמצעות קריאה ל-onWalletCardSelected
.- הפונקציה
onWalletCardSelected
נקראת בכל פעם שהמשתמש בוחר כרטיס חדש. - יכול להיות ש-
onWalletCardSelected
ייכלל גם אם הכרטיס שנבחר כרגע לא השתנה.
- הפונקציה
כשהמשתמש סוגר את הלחצן לגישה מהירה ל-Wallet, ממשק המשתמש של המערכת שולח הודעה ל-
QuickAccessWalletService
באמצעות קריאה ל-onWalletDismissed
.
בדוגמה שלמעלה, המשתמש מביא את הטלפון לטווח של מסוף תשלום NFC בזמן שהארנק מוצג. רכיב מפתח בטיפול בתשלומים ב-NFC הוא HostApduService
, שצריך להטמיע כדי לעבד הודעות APDU שמספק קורא ה-NFC (למידע נוסף, ראו הדמיית כרטיס מבוססת-מארח).
ההנחה היא שאפליקציית התשלומים מתחילה פעילות כדי להציג את ההתקדמות ואת התוצאה של האינטראקציה עם מסוף ה-NFC. עם זאת, ממשק המשתמש של Wallet לגישה מהירה מוצג מעל חלון האפליקציה, כך שפעילות התשלום מוסתרת על ידי ממשק המשתמש של Wallet לגישה מהירה. כדי לפתור את הבעיה, האפליקציה צריכה להודיע לממשק המשתמש של המערכת שצריך לסגור את ממשק המשתמש של Wallet לגישה מהירה. הוא יכול לעשות זאת על ידי קבלת הפניה ל-QuickAccessWalletService
המקושר וקריאה ל-sendWalletServiceEvent
עם סוג האירוע TYPE_NFC_PAYMENT_STARTED
.
הטמעה לדוגמה של 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();
});
}
}
מידע נוסף על QuickAccessWalletService
זמין בהפניית API של QuickAccessWalletService
.
הרשאות
רשומת המניפסט של QuickAccessWalletService
חייבת לדרוש את ההרשאה android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
שהוצגה ב-Android 11. זוהי הרשאה ברמת החתימה שנמצאת בידי System UI, כלומר רק תהליך System UI יכול לקשר להטמעות של QuickAccessWalletService
. חשוב לדעת שאפליקציות שהותקנו באופן צדדי יכולות לדרוש את ההרשאה הזו ולקבל גישה מלאה לנתוני QuickAccessWalletService
במכשירים עם Android מגרסה 10 ואילך. כדי למנוע זאת, מומלץ לבדוק את גרסת ה-build ב-onCreate
ולהפעיל את השירות רק במכשירים עם Android מגרסה 11 ואילך. לא נדרשות הרשאות נוספות לאפליקציה, מלבד אלה שנדרשות כדי לספק שירותי תשלום של אמולציה של כרטיס מארח.
אם אפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC לא מטמיעה או מייצאת את QuickAccessWalletService
, ממשק המשתמש של Wallet לגישה מהירה לא יוצג.
הגדרות ב-Android 12
כדי להפעיל או להשבית את הארנק לגישה מהירה במסך הנעילה, המשתמשים יכולים להשתמש במתג הצגת הארנק בקטע הגדרות > מסך > מסך הנעילה. כדי להשבית את הארנק בצללית, המשתמשים צריכים לערוך אותו באופן ידני בצללית של ההגדרות המהירות.
איור 5. להציג את המתג של Wallet בדף מסך הנעילה בהגדרות.
הגדרות ב-Android 11
משתמשים יכולים להשבית את התכונה 'גישה מהירה ל-Wallet' באפליקציית ההגדרות. דף ההגדרות נמצא בקטע הגדרות > מערכת > תנועות > כרטיסים וכרטיסים נטענים.

התאמה אישית
הוספת תצוגת Wallet לגישה מהירה למיקום אחר בממשק המשתמש של המערכת
ממשק המשתמש של Wallet לגישה מהירה נוצר כפלאגין מערכת.
ההטמעה ב-AOSP משתמשת בה ב-GlobalActionsDialog
(מוצגת בהקשה ארוכה על לחצן ההפעלה), אבל אפשר להעביר את התכונה לתנועה אחרת כל עוד שומרים על החוזה שצוין בממשק הפלאגין.
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);
}
}
ממשק המשתמש של Wallet לגישה מהירה מטמיע את GlobalActionsPanelPlugin
ואת PanelViewController
.
GlobalActionsDialog
מקבלת מכונה של הפלאגין של Wallet באמצעות com.android.systemui.Dependency
:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
אחרי בדיקה שהתוסף הוא לא null ושה-PanelViewController
שמוחזר על ידי onPanelShown
הוא לא null, תיבת הדו-שיח מצרפת את ה-View
שסופק על ידי getPanelContent
ל-View
שלה ומספקת קריאות חזרה מתאימות לאירועי מערכת.
// 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();
כדי להסיר את Wallet מהגישה המהירה בתפריט ההפעלה, צריך להשמיט את היעד QuickAccessWallet
מה-build של המערכת. כדי להסיר את Wallet מהתפריט 'הפעלה' אבל להוסיף אותו לתצוגה אחרת שסופקו על ידי ממשק המשתמש של המערכת, צריך לכלול את יעד ה-build ולהסיר את ההפניות ל-GlobalActionsPanelPlugin
מ-GlobalActionsImpl
.
הגדרת הגדרות ברירת מחדל
12 Android
ב-Android 12 ואילך, תמיד אפשר לראות את Wallet לגישה מהירה בחלונית ההגדרות המהירות. ההצגה של Wallet במסך הנעילה מותנית בהגדרה הבאה: LOCKSCREEN_SHOW_WALLET
. ההגדרה הזו קובעת אם הסמל של Wallet לגישה מהירה יוצג בפינה השמאלית התחתונה של מסך הנעילה. כברירת מחדל, ההגדרה הזו מוגדרת כ-true
, אבל המשתמש יכול להשבית אותה בקטע הגדרות > מסך > מסך הנעילה > הצגת Wallet.
Android 11
ב-Android 11, הגישה ל-Wallet במסגרת הגישה המהירה מוגבלת על ידי שתי הגדרות מאובטחות: GLOBAL_ACTIONS_PANEL_ENABLED
ו-GLOBAL_ACTIONS_PANEL_AVAILABLE
. ההגדרה AVAILABLE
קובעת אם אפשר להפעיל או להשבית את התכונה בהגדרות. ההגדרה הזו מוגדרת ל-true
על ידי WalletPluginService
.
אם QuickAccessWallet
לא נכלל ב-build, ההגדרה תישאר false
. ההגדרה ENABLED
מוגדרת כברירת מחדל ל-true
באותו מקום, אבל המשתמש יכול להשבית אותה בהגדרות. כדי לשנות את התנהגות ברירת המחדל, משנים את הערך של WalletPluginService#enableFeatureInSettings
.
אימות
כדי לאמת את ההטמעה של Wallet לגישה מהירה, צריך להריץ בדיקות CTS ובדיקות ידניות. שינויים בפלאגין צריכים לכלול גם את הבדיקות של Robolectric.
בדיקות CTS
מריצים את בדיקות CTS שנמצאות ב-cts/tests/quickaccesswallet
.
בדיקות ידניות ל-Android 12
כדי לבדוק את התכונות המרכזיות של Wallet לגישה מהירה, נדרשים מסוף תשלומים ב-NFC (אמיתי או מזויף) ואפליקציית תשלומים ב-NFC שמטמיעה את QuickAccessWalletService
(אפליקציית Wallet). התכונות המרכזיות שצריך לבדוק הן: זמינות, מצב אפס, בחירת כרטיס והתנהגות מסך הנעילה.
זמינות
- אם אפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC לא תומכת בתכונה, לא תוכלו לגשת לאפליקציית Wallet לגישה מהירה לא דרך ההגדרות המהירות ולא דרך מסך הנעילה.
- אם אפליקציית התשלומים שמוגדרת כברירת מחדל לתשלומים ב-NFC תומכת בתכונה הזו, תוכלו לגשת לארנק במסך ההגדרות המהירות.
- אם אפליקציית התשלומים ב-NFC שמוגדרת כברירת מחדל תומכת בתכונה, וההגדרה של
LOCKSCREEN_SHOW_WALLET
היאtrue
, תוכלו לגשת ל-Wallet במסך הנעילה. - אם אפליקציית התשלומים שמוגדרת כברירת מחדל לתשלומים ב-NFC תומכת בתכונה, וההגדרה של
LOCKSCREEN_SHOW_WALLET
היאfalse
, לא תוכלו לגשת ל-Wallet במסך הנעילה.
מצב אפס
אם המדיניות
QuickAccessWalletService
מופעלת ומופקת אבל לא מספקת כרטיסים, המשבצת בחלונית Shade מופיעה כמו בדוגמה שמוצגת באיור 7. לחיצה על המשבצת פותחת את אפליקציית התשלומים ב-NFC שמוגדרת כברירת מחדל.איור 7. דוגמה לכרטיס בצללית שבו מוצגת אפליקציית התשלומים המוגדר כברירת מחדל ל-NFC.
לחיצה על תצוגת המצב הריק כפי שמוצג באיור 8 פותחת את אפליקציית ברירת המחדל לתשלום ב-NFC. תצוגת המצב הריק מוצגת רק אם למשתמש נשאר כרטיס אחד בארנק, הוא מסיר את הכרטיס מדף פרטי הכרטיס ואז חוזר לתצוגת הארנק.
סמל Wallet מופיע במסך הנעילה.
איור 8. תצוגה של מצב ריק בממשק המשתמש של Wallet לגישה מהירה.
מצב שאינו אפס
אם באפליקציית Wallet יש כרטיס אחד או יותר, המשבצת בגוון כהה מופיעה כפי שמוצג באיור 9.
איור 9. דוגמה לכרטיס בצל כאשר באפליקציית Wallet יש כרטיס אחד או יותר.
לחיצה על המשבצת תציג קרוסלה של כרטיסים.
במסך הנעילה מוצג לחצן שפותח את Wallet לגישה מהירה.
איור 10. ממשק המשתמש של Wallet לגישה מהירה עם כרטיס מוצג.
אם הכרטיס שמוצג מייצג אמצעי תשלום מסוג NFC, כאשר מקרבים את הטלפון למסוף תשלום מסוג NFC, המערכת משתמשת באמצעי התשלום הזה ותצוגת הארנק נסגרת.
לחיצה על כרטיס מוצג פותחת את הפעילות המפורטת של הכרטיס הזה.
אם
QuickAccessWalletService
מספק כמה כרטיסים, המשתמש יכול להחליק ביניהם.תפריט האפשרויות הנוספות מכיל רשומה אחת: פתיחת ההגדרות של מסך הנעילה כדי שהמשתמש יוכל לשנות את האפשרות הצגת Wallet.
בדיקות של מצב הנעילה
- אם הטלפון נעול, הארנק גלוי בחלונית ההגדרות המהירות, עם התיאור הוספת כרטיס אם אין כרטיס באפליקציית התשלומים שמוגדרת כברירת מחדל, או ביטול הנעילה לשימוש אם יש כרטיסים באפליקציית התשלומים שמוגדרת כברירת מחדל.
- אם הטלפון נעול, הרשאות הגישה של Wallet במסך הנעילה נקבעו לפי ההגדרה
Secure.LOCKSCREEN_SHOW_WALLET
, שאפשר לשנות בהגדרות. - אם הטלפון נעול, הערך של
LOCKSCREEN_SHOW_WALLET
הואfalse
ואין כרטיס באפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC, הארנק לא יוצג במסך הנעילה. - אם הטלפון נעול, הערך של
LOCKSCREEN_SHOW_WALLET
הואtrue
ואין כרטיס באפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC, הארנק לא יוצג במסך הנעילה. - אם הטלפון נעול, הערך של
LOCKSCREEN_SHOW_WALLET
הואtrue
ויש כרטיסים באפליקציית התשלומים שמוגדרת כברירת מחדל ל-NFC, הארנק יוצג במסך הנעילה. - אם תבטלו את נעילת הטלפון בזמן שהארנק מוצג במסך הנעילה, תתבקשו להזין שוב את פרטי הכרטיסים, ויכול להיות שהתוכן שלהם ישתנה.
בדיקות נגישות
- משתמשים ב-Talkback יכולים לנווט בתצוגת הארנק על ידי החלקה ימינה ושמאלה, ולהאזין לתיאורי התוכן של הכרטיסים.
- כשהתכונה TalkBack מופעלת, מחליקים ימינה ושמאלה כדי לבחור כל כרטיס בתורו. משתמשי TalkBack יכולים לבחור אמצעי תשלום מסוג NFC ולהשתמש בו במסוף תשלומים מסוג NFC.
בדיקות ידניות ל-Android 11
כדי לבדוק את התכונות המרכזיות של Wallet לגישה מהירה, נדרשים מסוף תשלומים ב-NFC (אמיתי או מזויף) ואפליקציית תשלומים ב-NFC שמטמיעה את QuickAccessWalletService
(אפליקציית Wallet). התכונות המרכזיות שצריך לבדוק כוללות את הזמינות, מצב אפס, בחירת כרטיס והתנהגות מסך הנעילה.
זמינות
- אם ההגדרה של
GLOBAL_ACTIONS_PANEL_ENABLED
היאtrue
ואפליקציית התשלומים שמוגדרת כברירת מחדל שתומכת בתכונה, תוכלו לגשת לארנק מהגישה המהירה. - אם ההגדרה של
GLOBAL_ACTIONS_PANEL_ENABLED
היאfalse
ואפליקציית התשלומים שמוגדרת כברירת מחדל תומכת בתכונה, לא תוכלו לגשת ל-Wallet במסך הגישה המהירה. - אם ההגדרה של
GLOBAL_ACTIONS_PANEL_ENABLED
היאtrue
ואפליקציית התשלומים שמוגדרת כברירת מחדל לא תומכת בתכונה, לא תוכלו לגשת ל-Wallet מהגישה המהירה. - אם ההגדרה של
GLOBAL_ACTIONS_PANEL_ENABLED
היאfalse
ואפליקציית התשלומים שמוגדרת כברירת מחדל לא תומכת בתכונה, לא תוכלו לגשת ל-Wallet מהגישה המהירה.
מצב אפס
- אם
QuickAccessWalletService
מופעל ויוצא, אבל לא מכיל כרטיסים, תצוגת המצב הריק תופיע בממשק המשתמש של Wallet לגישה מהירה. לחיצה על התצוגה של המצב הריק פותחת את אפליקציית הארנק.
איור 11. תצוגה של מצב ריק בממשק המשתמש של Wallet לגישה מהירה.
מצב שאינו אפס
אם באפליקציית הארנק יש כרטיס אחד או יותר, הכרטיסים יוצגו בממשק המשתמש של Wallet לגישה מהירה.
איור 12. ממשק המשתמש של Wallet לגישה מהירה עם כרטיס מוצג. אם הכרטיס שמוצג מייצג אמצעי תשלום מסוג NFC, כאשר מקרבים את הטלפון למסוף תשלום מסוג NFC, המערכת משתמשת באמצעי התשלום הזה ותצוגת הארנק נסגרת.
לחיצה על כרטיס מוצג גורמת לסגירת תצוגת הארנק ופתיחת הפעילות המפורטת של הכרטיס.
אם
QuickAccessWalletService
מספק כמה כרטיסים, המשתמש יכול להחליק ביניהם.תפריט ההתראות מכיל שתי רשומות: אחת שפותחת את אפליקציית Wallet ואחת שפותחת את המסך הצגת כרטיסים בהגדרות.
בדיקות של מצב הנעילה
- אם הטלפון נעול, הרשאות הגישה לאפליקציית Wallet נקבעו לפי ההגדרה
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
, שאפשר לשנות בהגדרות. - אם הטלפון נעול ו-
POWER_MENU_LOCK_SHOW_CONTENT
הואfalse
, הארנק לא יוצג. - אם הטלפון נעול ו-
POWER_MENU_LOCK_SHOW_CONTENT
הואtrue
, הארנק יוצג. - אם תבטלו את נעילת הטלפון בזמן שהארנק מוצג במסך הנעילה, תתבצע בקשה חוזרת להצגת הכרטיסים, ויכול להיות שהתוכן שלהם ישתנה.
בדיקות נגישות
- משתמשי TalkBack יכולים לנווט בתצוגת הארנק על ידי החלקה ימינה ושמאלה, ולהאזין לתיאורי התוכן של הכרטיסים.
- כשהתכונה TalkBack מופעלת, החלקה שמאלה וימינה בוחרת כל כרטיס בתורו. משתמשי TalkBack יכולים לבחור אמצעי תשלום מסוג NFC ולהשתמש בו במסוף תשלומים מסוג NFC.