Tính năng Quick Access Wallet (Ví truy cập nhanh) có trên Android 11, cho phép người dùng truy cập vào thẻ thanh toán và thẻ/vé liên quan ngay trong trình đơn nguồn. Các trường hợp sử dụng chính bao gồm việc chọn phương thức thanh toán phù hợp trước khi thực hiện giao dịch tại một thiết bị đầu cuối NFC và nhanh chóng truy cập vào các chuyến bay cũng như thẻ và vé khác cho các sự kiện sắp tới.
Trong Android 12 trở lên, bạn có thể truy cập vào tính năng Ví truy cập nhanh từ bảng thông báo như minh hoạ trong Hình 1 và Hình 2.
![]() |
![]() |
Trong Android 11, tính năng này có trong trình đơn nguồn như minh hoạ trong Hình 3.

Yêu cầu
Thiết bị của bạn phải có NFC để sử dụng tính năng truy cập nhanh vào Wallet. Tính năng này liên kết với QuickAccessWalletService
của ứng dụng thanh toán NFC mặc định, tức là thiết bị cũng phải hỗ trợ quy trình mô phỏng thẻ dựa trên máy chủ (HCE) bằng NFC.
Tổng quan về tính năng
Quick Access Wallet có 2 phần: giao diện người dùng Quick Access Wallet và trình cung cấp thẻ Quick Access Wallet.
Trong Android 12 trở lên, giao diện người dùng Wallet chạy trong Giao diện người dùng hệ thống và nằm trong frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
. Trong Android 11, bạn phải cài đặt và thêm giao diện người dùng Wallet (nằm trong platform/packages/apps/QuickAccessWallet
) vào danh sách cho phép.
Nhà cung cấp thẻ Quick Access Wallet là ứng dụng thanh toán NFC mặc định. Người dùng có thể cài đặt đồng thời nhiều ứng dụng thanh toán NFC, nhưng chỉ ứng dụng thanh toán NFC mặc định mới có thể hiển thị thẻ trên trình đơn nguồn. Bạn có thể chỉ định ứng dụng thanh toán qua NFC nào được đặt làm mặc định ban đầu, nhưng người dùng có thể chọn một ứng dụng khác trong phần Cài đặt. Nếu bạn chỉ cài đặt một ứng dụng thanh toán qua NFC, thì ứng dụng đó sẽ tự động trở thành ứng dụng mặc định (xem phần CardEmulationManager
).
Triển khai
Để cung cấp thẻ cho giao diện người dùng Wallet truy cập nhanh, các ứng dụng thanh toán NFC phải triển khai QuickAccessWalletService
.
Ứng dụng thanh toán phải có một mục trong tệp kê khai để quảng cáo dịch vụ.
Để đảm bảo chỉ Giao diện người dùng hệ thống mới có thể liên kết với QuickAccessWalletService
, ứng dụng thanh toán NFC phải yêu cầu quyền android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
. Việc yêu cầu quyền này đảm bảo rằng chỉ Giao diện người dùng hệ thống mới có thể liên kết với 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>
Thông tin bổ sung về ví được đưa vào tệp XML được liên kết:
<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"/>
Tiếp theo, ứng dụng thanh toán phải triển khai 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
}
}
Nếu HostApduService
bắt đầu xử lý một giao dịch NFC và do đó, bắt đầu một hoạt động để hiển thị tiến trình và kết quả thanh toán, thì HostApduService
cũng nên cố gắng lấy thông tin tham chiếu đến QuickAccessWalletService
được liên kết và gọi QuickAccessWalletService#sendEvent
với loại sự kiện là TYPE_NFC_PAYMENT_STARTED
. Điều này khiến giao diện người dùng Quick Access Wallet (Ví truy cập nhanh) bị đóng, nhờ đó người dùng có thể xem hoạt động thanh toán mà không bị cản trở.
Để biết thêm tài liệu về cách triển khai QuickAccessWalletService
, hãy xem QuickAccessWalletService
và kiểm thử CTS TestQuickAccessWalletService
.
Bật giao diện người dùng truy cập nhanh vào Wallet trong Android 11
Để định cấu hình Ví truy cập nhanh có trong trình đơn nguồn trên Android 11, hãy thêm mục tiêu QuickAccessWallet
vào bản dựng và bật trình bổ trợ globalactions.wallet
bằng cách thêm dòng chữ in đậm trong mẫu mã bên dưới vào tệp 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>
Chỉ định ứng dụng thanh toán NFC mặc định trong tệp cấu hình cài đặt bằng cách sử dụng def_nfc_payment_component
.
Ứng dụng thanh toán NFC mặc định phải hiển thị QuickAccessWalletService
để cung cấp thẻ cho Quick Access Wallet. Nếu ứng dụng thanh toán NFC mặc định không xuất dịch vụ này, thì giao diện người dùng ví sẽ bị ẩn.
Thông tin chi tiết về việc triển khai QuickAccessWalletService
QuickAccessWalletService
có 3 phương thức trừu tượng mà bạn phải triển khai: onWalletCardsRequested
, onWalletCardSelected
và onWalletDismissed
. Sơ đồ trình tự bên dưới minh hoạ một trình tự lệnh gọi khi Ví truy cập nhanh được xem ngay trước khi thanh toán bằng NFC.

Không phải lượt xem nào của Wallet ở chế độ truy cập nhanh cũng dẫn đến một giao dịch thanh toán qua NFC, nhưng Hình 4 ở trên minh hoạ tất cả các chức năng của QuickAccessWalletService
. Trong ví dụ này, nhà cung cấp thẻ Wallet truy cập nhanh triển khai các phần tử được đánh dấu màu xanh dương. Giả sử thẻ thanh toán được lưu trữ trên thiết bị trong một cơ sở dữ liệu và được truy cập thông qua một giao diện có tên là PaymentCardManager
. Giả sử rằng một hoạt động có tên là PaymentActivity
hiển thị kết quả của một giao dịch thanh toán qua NFC. Quy trình diễn ra như sau:
- Người dùng thực hiện một cử chỉ để mở Ví truy cập nhanh.
Giao diện người dùng Ví truy cập nhanh (một phần của Giao diện người dùng hệ thống) sẽ kiểm tra trình quản lý gói để xem ứng dụng thanh toán NFC mặc định có xuất
QuickAccessWalletService
hay không.- Nếu dịch vụ không được xuất, thì Quick Access Wallet sẽ không xuất hiện.
Giao diện người dùng Quick Access Wallet liên kết với
QuickAccessWalletService
và gọionWalletCardsRequested
. Phương thức này lấy một đối tượng yêu cầu chứa dữ liệu về số lượng và kích thước của các thẻ có thể được cung cấp và một lệnh gọi lại. Bạn có thể gọi lệnh gọi lại từ một luồng ở chế độ nền.QuickAccessWalletService
tính toán những thẻ mà nó muốn hiển thị, sau đó gọi phương thứconSuccess
trên lệnh gọi lại được cung cấp. Bạn nên để dịch vụ thực hiện các thao tác này trên một luồng ở chế độ nền.Ngay khi các thẻ xuất hiện, Giao diện người dùng hệ thống sẽ thông báo cho
QuickAccessWalletService
rằng thẻ đầu tiên đã được chọn bằng cách gọionWalletCardSelected
.onWalletCardSelected
được gọi mỗi khi người dùng chọn một thẻ mới.onWalletCardSelected
có thể được gọi ngay cả khi thẻ hiện được chọn chưa thay đổi.
Khi người dùng đóng Wallet truy cập nhanh, Giao diện người dùng hệ thống sẽ thông báo cho
QuickAccessWalletService
bằng cách gọionWalletDismissed
.
Trong ví dụ trên, người dùng đưa điện thoại vào phạm vi của một thiết bị thanh toán NFC trong khi ví đang hiển thị. Một thành phần chính để xử lý các khoản thanh toán qua NFC là HostApduService
. Bạn phải triển khai thành phần này để xử lý APDU do đầu đọc NFC cung cấp (để biết thêm thông tin, hãy xem phần Tính năng mô phỏng thẻ dựa trên máy chủ).
Giả sử ứng dụng thanh toán bắt đầu một hoạt động để hiển thị tiến trình và kết quả của hoạt động tương tác với thiết bị đầu cuối NFC. Tuy nhiên, giao diện người dùng của Wallet ở chế độ truy cập nhanh sẽ xuất hiện ở trên cùng của cửa sổ ứng dụng, tức là hoạt động thanh toán sẽ bị giao diện người dùng của Wallet ở chế độ truy cập nhanh che khuất. Để khắc phục vấn đề này, ứng dụng phải thông báo cho Giao diện người dùng hệ thống rằng Giao diện người dùng Wallet truy cập nhanh cần bị loại bỏ. Thao tác này có thể thực hiện bằng cách tham chiếu đến QuickAccessWalletService
được liên kết và gọi sendWalletServiceEvent
bằng loại sự kiện TYPE_NFC_PAYMENT_STARTED
.
Ví dụ về cách triển khai 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();
});
}
}
Để biết thêm thông tin chi tiết về QuickAccessWalletService
, hãy xem Tài liệu tham khảo API QuickAccessWalletService
.
Quyền
Mục kê khai cho QuickAccessWalletService
phải yêu cầu quyền android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
được giới thiệu trong Android 11. Đây là quyền ở cấp chữ ký do Giao diện người dùng hệ thống nắm giữ, tức là chỉ quy trình Giao diện người dùng hệ thống mới có thể liên kết với các phương thức triển khai QuickAccessWalletService
. Xin lưu ý rằng các ứng dụng được tải lên từ bên ngoài có thể yêu cầu quyền này và có toàn quyền truy cập vào dữ liệu QuickAccessWalletService
trên các thiết bị chạy Android 10 trở xuống. Để ngăn chặn điều này, bạn nên để dịch vụ kiểm tra phiên bản bản dựng trong onCreate
và chỉ bật dịch vụ trên các thiết bị chạy Android 11 trở lên. Không cần có quyền nào khác cho ứng dụng ngoài những quyền cần thiết để cung cấp dịch vụ thanh toán mô phỏng thẻ lưu trữ.
Nếu ứng dụng thanh toán NFC mặc định không triển khai hoặc xuất QuickAccessWalletService
, thì giao diện người dùng Wallet truy cập nhanh sẽ không xuất hiện.
Cài đặt trong Android 12
Để bật hoặc tắt Ví truy cập nhanh trên màn hình khoá, người dùng có thể sử dụng nút bật/tắt Hiện ví trong phần Cài đặt > Màn hình > Màn hình khoá. Để tắt ví trong bảng này, người dùng phải chỉnh sửa bảng cài đặt nhanh theo cách thủ công.
Hình 5. Hiện nút bật/tắt ví trên trang Màn hình khoá trong phần Cài đặt.
Cài đặt trong Android 11
Người dùng có thể tắt tính năng Ví truy cập nhanh trong ứng dụng Cài đặt. Trang cài đặt nằm trong phần Cài đặt > Hệ thống > Cử chỉ > Thẻ và vé.

Tuỳ chỉnh
Thêm chế độ xem Wallet truy cập nhanh vào một vị trí khác trong Giao diện người dùng hệ thống
Giao diện người dùng Quick Access Wallet được tạo dưới dạng trình bổ trợ hệ thống.
Mặc dù chế độ triển khai AOSP sử dụng tính năng này trong GlobalActionsDialog
(hiển thị khi nhấn và giữ nút nguồn), nhưng bạn có thể di chuyển tính năng này sang một cử chỉ khác miễn là bạn duy trì hợp đồng do giao diện trình bổ trợ chỉ định.
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);
}
}
Giao diện người dùng Quick Access Wallet (Ví truy cập nhanh) triển khai GlobalActionsPanelPlugin
và PanelViewController
.
GlobalActionsDialog
nhận một thực thể của trình bổ trợ ví bằng cách sử dụng com.android.systemui.Dependency
:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Sau khi kiểm tra để đảm bảo rằng trình bổ trợ không có giá trị rỗng và PanelViewController
do onPanelShown
trả về không có giá trị rỗng, hộp thoại sẽ đính kèm View
do getPanelContent
cung cấp vào View
của chính nó và cung cấp các lệnh gọi lại thích hợp cho các sự kiện hệ thống.
// 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();
Để xoá Wallet trong chế độ truy cập nhanh khỏi trình đơn nguồn, hãy bỏ qua mục tiêu QuickAccessWallet
khỏi bản dựng hệ thống. Để xoá Ví truy cập nhanh khỏi trình đơn nguồn nhưng thêm Ví vào một khung hiển thị khác do Giao diện người dùng hệ thống cung cấp, hãy thêm mục tiêu bản dựng và xoá các tham chiếu đến GlobalActionsPanelPlugin
khỏi GlobalActionsImpl
.
Đặt cấu hình mặc định
Android 12
Trong Android 12 trở lên, Wallet truy cập nhanh luôn xuất hiện trong bảng cài đặt nhanh. Chế độ hiển thị của Ví trong phần Truy cập nhanh trên màn hình khoá được kiểm soát bằng chế độ cài đặt bảo mật sau đây: LOCKSCREEN_SHOW_WALLET
. Chế độ cài đặt này kiểm soát việc biểu tượng Ví truy cập nhanh có xuất hiện ở dưới cùng bên phải của màn hình khoá hay không. Chế độ cài đặt này được đặt thành true
theo mặc định, nhưng người dùng có thể tắt trong phần Cài đặt > Màn hình > Khoá màn hình > Hiện ví.
Android 11
Trong Android 11, chế độ hiển thị Ví truy cập nhanh được kiểm soát bằng hai chế độ cài đặt bảo mật: GLOBAL_ACTIONS_PANEL_ENABLED
và GLOBAL_ACTIONS_PANEL_AVAILABLE
. Chế độ cài đặt AVAILABLE
kiểm soát việc có thể bật và tắt tính năng này trong phần Cài đặt hay không. Chế độ cài đặt này được đặt thành true
theo WalletPluginService
.
Nếu QuickAccessWallet
không có trong bản dựng, thì chế độ cài đặt vẫn là false
. Theo mặc định, chế độ cài đặt ENABLED
được đặt thành true
ở cùng một vị trí, nhưng người dùng có thể tắt chế độ này trong phần Cài đặt. Để thay đổi hành vi mặc định, hãy sửa đổi WalletPluginService#enableFeatureInSettings
.
Xác nhận kết quả
Để xác thực việc triển khai Quick Access Wallet, hãy chạy CTS và các thử nghiệm thủ công. Những thay đổi đối với trình bổ trợ cũng phải thực hiện các kiểm thử robolectric đi kèm.
Các bài kiểm thử CTS
Chạy các quy trình kiểm thử CTS nằm ở cts/tests/quickaccesswallet
.
Kiểm thử thủ công cho Android 12
Để kiểm thử các tính năng cốt lõi của Quick Access Wallet, bạn cần có một thiết bị đầu cuối thanh toán NFC (thật hoặc giả) và một ứng dụng thanh toán NFC triển khai QuickAccessWalletService
(ứng dụng ví). Các tính năng cốt lõi cần được kiểm thử bao gồm: tính sẵn có, trạng thái trống, lựa chọn thẻ và hành vi trên màn hình khoá.
Phạm vi cung cấp
- Nếu ứng dụng thanh toán NFC mặc định không hỗ trợ tính năng này, thì bạn sẽ không truy cập được vào Wallet ở chế độ truy cập nhanh trong phần cài đặt nhanh cũng như trên màn hình khoá.
- Nếu ứng dụng thanh toán qua NFC mặc định hỗ trợ tính năng này, thì bạn có thể truy cập vào Ví truy cập nhanh trong bảng cài đặt nhanh.
- Nếu ứng dụng thanh toán qua NFC mặc định hỗ trợ tính năng này và nếu chế độ cài đặt
LOCKSCREEN_SHOW_WALLET
làtrue
, thì bạn có thể truy cập vào Wallet ở chế độ truy cập nhanh trên màn hình khoá. - Nếu ứng dụng thanh toán mặc định qua NFC hỗ trợ tính năng này và nếu chế độ cài đặt
LOCKSCREEN_SHOW_WALLET
ở trạng tháifalse
, thì bạn sẽ không truy cập được vào Quick Access Wallet trên màn hình khoá.
Trạng thái trống
Nếu bạn bật và xuất
QuickAccessWalletService
nhưng không cung cấp thẻ nào, thì ô trong Vùng bóng sẽ xuất hiện như trong ví dụ ở Hình 7. Khi bạn nhấp vào ô này, ứng dụng thanh toán NFC mặc định sẽ mở ra.Hình 7. Ví dụ về ô trong danh sách kéo xuống cho thấy ứng dụng thanh toán NFC mặc định.
Khi nhấp vào chế độ xem trạng thái trống như minh hoạ trong Hình 8, ứng dụng thanh toán NFC mặc định sẽ mở ra. Chế độ xem trạng thái trống này chỉ xuất hiện khi người dùng còn một thẻ trong ví, xoá thẻ khỏi trang chi tiết thẻ rồi quay lại chế độ xem ví.
Màn hình khoá sẽ hiện biểu tượng ví.
Hình 8. Chế độ xem trạng thái trống trong giao diện người dùng Truy cập nhanh vào Wallet.
Trạng thái khác 0
Nếu ứng dụng ví cung cấp một hoặc nhiều thẻ, thì ô trong bóng sẽ xuất hiện như trong Hình 9.
Hình 9. Ví dụ về ô trong bảng thông báo khi ứng dụng Wallet có một hoặc nhiều thẻ.
Khi bạn nhấp vào thẻ thông tin, một băng chuyền thẻ sẽ xuất hiện.
Màn hình khoá sẽ hiển thị một nút mở Wallet ở chế độ truy cập nhanh.
Hình 10. Giao diện người dùng của Ví truy cập nhanh có thẻ xuất hiện.
Nếu thẻ xuất hiện là một phương thức thanh toán NFC, thì việc đưa điện thoại đến gần một thiết bị thanh toán NFC sẽ khiến phương thức thanh toán đó được sử dụng và chế độ xem ví bị đóng.
Khi bạn nhấp vào một thẻ xuất hiện, hệ thống sẽ mở thông tin chi tiết về hoạt động của thẻ đó.
Nếu
QuickAccessWalletService
cung cấp nhiều thẻ, thì người dùng có thể vuốt giữa các thẻ.Trình đơn mục bổ sung chứa một mục: mở phần cài đặt màn hình khoá để người dùng có thể thay đổi lựa chọn Hiện ví.
Kiểm thử trạng thái khoá
- Nếu điện thoại đang ở trạng thái khoá, ví sẽ xuất hiện trên bảng cài đặt nhanh, kèm theo nội dung mô tả Thêm thẻ nếu không có thẻ nào trong ứng dụng thanh toán mặc định hoặc mở khoá để sử dụng nếu có thẻ trong ứng dụng thanh toán mặc định.
- Nếu điện thoại đang khoá, chế độ hiển thị ví trên màn hình khoá sẽ do chế độ cài đặt
Secure.LOCKSCREEN_SHOW_WALLET
kiểm soát. Bạn có thể kiểm soát chế độ cài đặt này trong phần Cài đặt. - Nếu điện thoại bị khoá,
LOCKSCREEN_SHOW_WALLET
làfalse
và không có thẻ nào trong ứng dụng thanh toán NFC mặc định, thì ví sẽ không xuất hiện trên màn hình khoá. - Nếu điện thoại bị khoá,
LOCKSCREEN_SHOW_WALLET
làtrue
và không có thẻ nào trong ứng dụng thanh toán NFC mặc định, thì ví sẽ không xuất hiện trên màn hình khoá. - Nếu điện thoại đang khoá,
LOCKSCREEN_SHOW_WALLET
làtrue
và có thẻ trong ứng dụng thanh toán NFC mặc định, thì ví sẽ xuất hiện trên màn hình khoá. - Nếu bạn mở khoá điện thoại trong khi ví đang hiển thị trên màn hình khoá, các thẻ sẽ được yêu cầu lại, điều này có thể dẫn đến nội dung thẻ khác.
Kiểm thử khả năng hỗ trợ tiếp cận
- Người dùng TalkBack có thể di chuyển trong chế độ xem ví bằng cách vuốt sang trái và phải, đồng thời nghe nội dung mô tả của các thẻ.
- Khi TalkBack được bật, thao tác vuốt sang trái và phải sẽ lần lượt chọn từng thẻ. Người dùng TalkBack có thể chọn và sử dụng một phương thức thanh toán NFC tại một thiết bị thanh toán NFC.
Kiểm thử thủ công cho Android 11
Để kiểm thử các tính năng cốt lõi của Quick Access Wallet, bạn cần có một thiết bị đầu cuối thanh toán NFC (thật hoặc giả) và một ứng dụng thanh toán NFC triển khai QuickAccessWalletService
(ứng dụng ví). Các tính năng cốt lõi cần được kiểm thử bao gồm tính khả dụng, trạng thái trống, lựa chọn thẻ và hành vi trên màn hình khoá.
Phạm vi cung cấp
- Nếu chế độ cài đặt
GLOBAL_ACTIONS_PANEL_ENABLED
làtrue
và ứng dụng thanh toán qua NFC mặc định hỗ trợ tính năng này, thì bạn có thể truy cập vào Google Pay ở chế độ truy cập nhanh. - Nếu chế độ cài đặt
GLOBAL_ACTIONS_PANEL_ENABLED
làfalse
và ứng dụng thanh toán mặc định qua NFC hỗ trợ tính năng này, thì bạn không thể truy cập vào Wallet bằng thao tác truy cập nhanh. - Nếu chế độ cài đặt
GLOBAL_ACTIONS_PANEL_ENABLED
làtrue
và ứng dụng thanh toán qua NFC mặc định không hỗ trợ tính năng này, thì bạn không thể truy cập vào Wallet trong chế độ truy cập nhanh. - Nếu chế độ cài đặt
GLOBAL_ACTIONS_PANEL_ENABLED
làfalse
và ứng dụng thanh toán qua NFC mặc định không hỗ trợ tính năng này, thì bạn không thể truy cập vào Wallet trong chế độ truy cập nhanh.
Trạng thái trống
- Nếu
QuickAccessWalletService
được bật và xuất nhưng không cung cấp thẻ nào, thì giao diện người dùng của Wallet ở chế độ Truy cập nhanh sẽ hiển thị chế độ xem trạng thái trống. Khi bạn nhấp vào chế độ xem trạng thái trống, ứng dụng ví sẽ mở ra.
Hình 11. Chế độ xem trạng thái trống trong giao diện người dùng Wallet có tính năng Truy cập nhanh.
Trạng thái khác 0
Nếu ứng dụng ví cung cấp một hoặc nhiều thẻ, thì các thẻ đó sẽ xuất hiện trong giao diện người dùng Quick Access Wallet.
Hình 12. Giao diện người dùng Ví truy cập nhanh có thẻ xuất hiện. Nếu thẻ xuất hiện là một phương thức thanh toán NFC, thì việc đưa điện thoại đến gần một thiết bị thanh toán NFC sẽ khiến phương thức thanh toán đó được sử dụng và chế độ xem ví bị đóng.
Khi bạn nhấp vào một thẻ xuất hiện, chế độ xem ví sẽ đóng và hoạt động chi tiết của thẻ đó sẽ mở ra.
Nếu
QuickAccessWalletService
cung cấp nhiều thẻ, thì người dùng có thể vuốt giữa các thẻ.Trình đơn tràn có 2 mục: một mục mở ứng dụng Wallet và một mục mở màn hình Hiển thị thẻ và vé trong phần Cài đặt.
Kiểm thử trạng thái khoá
- Nếu điện thoại đang ở trạng thái khoá, chế độ hiển thị ví sẽ được kiểm soát bằng chế độ cài đặt
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
. Bạn có thể kiểm soát chế độ cài đặt này trong phần Cài đặt. - Nếu điện thoại bị khoá và
POWER_MENU_LOCK_SHOW_CONTENT
ở trạng tháifalse
, thì ví sẽ không xuất hiện. - Nếu điện thoại đang khoá và
POWER_MENU_LOCK_SHOW_CONTENT
đang ở chế độtrue
, thì ví sẽ xuất hiện. - Việc mở khoá điện thoại trong khi ví đang hiển thị trên màn hình khoá sẽ khiến các thẻ được truy vấn lại, điều này có thể dẫn đến nội dung thẻ khác.
Kiểm thử khả năng hỗ trợ tiếp cận
- Người dùng TalkBack có thể di chuyển trong chế độ xem ví bằng cách vuốt sang trái và phải, đồng thời nghe nội dung mô tả của các thẻ.
- Khi TalkBack đang bật, thao tác vuốt sang trái và phải sẽ lần lượt chọn từng thẻ. Người dùng TalkBack có thể chọn và sử dụng một phương thức thanh toán NFC tại một thiết bị thanh toán NFC.