Tính năng 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 cũng như các thẻ và vé có liên quan ngay trong trình đơn nguồn. Mục đích sử dụng chính bao gồm chọn phương thức thanh toán thích hợp trước khi thực hiện một giao dịch tại thiết bị thanh toán NFC và nhanh chóng truy cập vào thông tin chuyến bay cũng như các thẻ và vé khác cho các sự kiện sắp tới.
Trên Android 12 trở lên, Ví truy cập nhanh có sẵn từ bóng đổ như được minh họa trong Hình 1 và Hình 2.
Trên 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 thì mới dùng được tính năng Ví truy cập nhanh. Tính năng
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ợ NFC
mô phỏng thẻ dựa trên máy chủ (HCE).
Tổng quan về tính năng
Có hai phần của Wallet Truy cập nhanh: giao diện người dùng của Wallet Truy cập nhanh và nhà cung cấp thẻ Truy cập nhanh.
Trên Android 12 trở lên, giao diện người dùng Wallet chạy trong Hệ thống
Giao diện người dùng và nằm trong
frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
. Ngang bằng
Android 11, giao diện người dùng Wallet, nằm trong
platform/packages/apps/QuickAccessWallet
!
phải được cài đặt và đưa vào danh sách cho phép.
Nhà cung cấp thẻ Truy cập nhanh 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ỉ có ứng dụng mặc định
Ứng dụng thanh toán NFC có thể hiển thị thẻ trên trình đơn nguồn. Bạn có thể chỉ định NFC
ứng dụng thanh toán được đặt làm mặc định ban đầu, nhưng người dùng có thể chọn một
trong phần Cài đặt. Nếu chỉ có một ứng dụng thanh toán NFC được cài đặt, ứng dụng đó sẽ trở thành
mặc định tự động (xem
CardEmulationManager
).
Triển khai
Để cung cấp thẻ cho giao diện người dùng của Wallet Truy cập nhanh, tính năng thanh toán qua NFC
các ứng dụng phải triển khai
QuickAccessWalletService
.
Ứng dụng thanh toán phải có một mục kê khai quảng cáo dịch vụ.
Để đả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
,
Ứng dụng thanh toán NFC phải yêu cầu
Quyền android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
. Yêu cầu thông tin này
quyền sẽ đả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í này có trong tệp XML 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ý giao dịch NFC và kết quả là
bắt đầu một hoạt động để hiển thị tiến trình và kết quả của thanh toán,
cố gắng tham chiếu đến QuickAccessWalletService
ràng buộc và gọi
QuickAccessWalletService#sendEvent
với một loại sự kiện
TYPE_NFC_PAYMENT_STARTED
. Do đó, giao diện người dùng của Ví Truy cập nhanh
loại bỏ, do đó giúp người dùng xem không bị che khuất của hoạt động thanh toán.
Để biết thêm tài liệu về cách triển khai QuickAccessWalletService
, hãy xem
QuickAccessWalletService
và
TestQuickAccessWalletService
thử nghiệm CTS.
Bật giao diện người dùng Wallet Truy cập nhanh trong Android 11
Cách định cấu hình để Wallet truy cập nhanh hoạt động trong trình đơn nguồn
trong Android 11, hãy thêm
QuickAccessWallet
nhắm mục tiêu trong bản dựng và bật trình bổ trợ globalactions.wallet
bằng cách thêm
dòng in đậm trong mã mẫu bên dưới vào
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
đang 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 Ví truy cập nhanh. Nếu ứng dụng thanh toán NFC mặc định
không xuất dịch vụ này, giao diện người dùng wallet bị ẩn.
Chi tiết triển khai QuickAccessWalletService
QuickAccessWalletService
có 3 phương thức trừu tượng cần được triển khai:
onWalletCardsRequested
, onWalletCardSelected
và onWalletDismissed
. Chiến lược phát hành đĩa đơn
sơ đồ trình tự dưới đây minh hoạ trình tự cuộc gọi khi Ví Truy cập nhanh
sẽ được xem ngay trước khi thanh toán qua NFC.
Không phải tất cả các lượt xem của Ví truy cập nhanh đều hiển thị khoản thanh toán qua NFC, nhưng
Hình 4 ở trên minh hoạ tất cả khả năng của
QuickAccessWalletService
. Trong ví dụ này, thẻ Truy cập nhanh
triển khai các phần tử có đường viền màu xanh dương. Giả định rằng khoản thanh toán
các thẻ được lưu trữ trên thiết bị trong cơ sở dữ liệu và được truy cập thông qua
giao diện có tên PaymentCardManager
. Người này giả định thêm rằng một hoạt động
có tên là PaymentActivity
hiển thị kết quả của một khoản thanh toán NFC. Quy trình
sẽ diễn ra như sau:
- Người dùng thực hiện một cử chỉ để kích hoạt Ví Truy cập nhanh.
Giao diện người dùng Wallet Truy cập nhanh (một phần của Giao diện người dùng hệ thống) sẽ kiểm tra gói để xem liệu ứng dụng thanh toán NFC mặc định có thể xuất
QuickAccessWalletService
.- Nếu dịch vụ không được xuất, thì Ví Truy cập nhanh được hiển thị.
Giao diện người dùng của Wallet Truy cập nhanh liên kết với
QuickAccessWalletService
và gọionWalletCardsRequested
. Phương thức này nhận 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 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 trong nền.QuickAccessWalletService
tính toán các thẻ mà ứng dụng 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ây giờ đề xuất dịch vụ thực hiện các thao tác này trên 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
mà 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ẻ đã chọn chưa thay đổi.
Khi người dùng đóng Ví truy cập nhanh, giao diện người dùng hệ thống sẽ thông báo
QuickAccessWalletService
bằng cách gọionWalletDismissed
.
Trong ví dụ trên, người dùng mang điện thoại đến phạm vi thanh toán qua NFC
trong khi ví đang hiển thị. Một thành phần chính của việc xử lý NFC
là HostApduService
(phải được triển khai để xử lý APDU)
do trình đọc NFC cung cấp (để biết thêm thông tin, hãy xem
Mô phỏng thẻ dựa trên máy chủ).
Giả định rằng ứng dụng thanh toán bắt đầu một hoạt động để cho thấy tiến trình và
là kết quả của việc tương tác với thiết bị đầu cuối NFC. Tuy nhiên, tính năng Truy cập nhanh
Giao diện người dùng của Wallet được hiển thị ở phía trên cùng của cửa sổ ứng dụng, có nghĩa là
hoạt động thanh toán bị giao diện người dùng của Ví 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 của Ví Truy cập nhanh
đã loại bỏ. Bạn có thể thực hiện việc này bằng cách tham chiếu đến giới hạn
QuickAccessWalletService
và gọi sendWalletServiceEvent
bằng sự kiện này
loại TYPE_NFC_PAYMENT_STARTED
.
Triển khai mẫu 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 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
Ra mắt quyền android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
trong
Android 11. Đây là một quyền ở cấp độ chữ ký được giữ lại
bởi Giao diện người dùng hệ thống, có nghĩa 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 việc triển khai
QuickAccessWalletService
. Xin lưu ý rằng các ứng dụng tải không qua cửa hàng có thể xác nhận quyền sở hữu phần thưởng 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, dịch vụ nên
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ó quyền nào khác cho ứng dụng
được yêu cầu ngoài những điều cần thiết để cung cấp thanh toán mô phỏng thẻ máy chủ
luôn miễn phí.
Nếu ứng dụng thanh toán NFC mặc định không triển khai hoặc xuất
QuickAccessWalletService
, giao diện người dùng của Wallet Truy cập nhanh không xuất hiện.
Chế độ cài đặt trong Android 12
Để bật hoặc tắt tính năng 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 thị ví trong phần Cài đặt > Hiển thị > Màn hình khoá. Để vô hiệu hoá ví trong ngăn, người dùng phải chỉnh sửa theo cách thủ công trong ngăn cài đặt nhanh.
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.
Chế độ 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. Chiến lược phát hành đĩa đơn trang cài đặt được tìm thấy trong Cài đặt > Hệ thống > Cử chỉ > Thẻ và 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
Chiến lược phát hành đĩa đơn
Giao diện người dùng của Wallet Truy cập nhanh
được xây dựng dưới dạng một
trình bổ trợ hệ thống.
Mặc dù việc triển khai AOSP tận dụng nó trong
GlobalActionsDialog
(hiện khi nhấn và giữ nút nguồn), bạn có thể di chuyển tính năng này sau 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);
}
}
Chiến lược phát hành đĩa đơn
Giao diện người dùng của Wallet Truy cập nhanh
triển khai GlobalActionsPanelPlugin
và PanelViewController
.
GlobalActionsDialog
nhận một phiên bản của trình bổ trợ wallet 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 trình bổ trợ này khác rỗng và PanelViewController
do onPanelShown
trả về không rỗng, hộp thoại sẽ đính kèm View
được cung cấp
thêm getPanelContent
vào View
riêng 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 Truy cập nhanh khỏi trình đơn nguồn, hãy bỏ qua
Mục tiêu QuickAccessWallet
trong bản dựng hệ thống. Để xoá tuỳ chọn Truy cập nhanh
Wallet từ trình đơn nguồn nhưng thêm vào một chế độ xem khác được cung cấp bởi Giao diện người dùng hệ thống,
thêm mục tiêu bản dựng và xoá các tham chiếu đến GlobalActionsPanelPlugin
từ
GlobalActionsImpl
.
Đặt cấu hình mặc định
Android 12
Trên Android 12 trở lên, Ví Truy cập nhanh
luôn hiển thị trong ngăn cài đặt nhanh. Chế độ hiển thị của tính năng Truy cập nhanh
Wallet trong 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 Ví Truy cập nhanh
biểu tượng này xuất hiện ở góc dưới cùng bên phải màn hình khoá. 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 >
Hiển thị > Màn hình khoá > Hiện ví.
Android 11
Trong Android 11, chế độ hiển thị của Ví truy cập nhanh được kiểm soát bởi 2 chế độ cài đặt bảo mật:
GLOBAL_ACTIONS_PANEL_ENABLED
và GLOBAL_ACTIONS_PANEL_AVAILABLE
. Chiến lược phát hành đĩa đơn
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
Cài đặt. Cài đặt này được đặt thành true
bởi
WalletPluginService
.
Nếu QuickAccessWallet
không có trong bản dựng, thì chế độ cài đặt này vẫn giữ nguyên
false
. Theo mặc định, chế độ cài đặt ENABLED
được đặt thành true
ở cùng một nơi,
nhưng người dùng có thể tắt trong phần Cài đặt. Để thay đổi hành vi mặc định,
sửa đổi WalletPluginService#enableFeatureInSettings
.
Xác nhận kết quả
Để xác thực việc triển khai Ví truy cập nhanh của bạn, hãy chạy CTS và tài liệu hướng dẫn kiểm thử. Các thay đổi đối với trình bổ trợ cũng phải thực thi kiểm tra điện tâm đồ.
Bài kiểm thử CTS
Chạy kiểm thử CTS tại
cts/tests/quickaccesswallet
.
Bài kiểm thử thủ công dành cho Android 12
Việc thử nghiệm các tính năng cốt lõi của Ví truy cập nhanh yêu cầu thanh toán qua NFC
thiết bị thanh toán (thực hoặc giả) và ứng dụng thanh toán NFC giúp triển khai
QuickAccessWalletService
(ứng dụng ví). Các tính năng cốt lõi phải được kiểm thử
bao gồm: tình trạng còn hà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 ứng dụng thanh toán NFC mặc định không hỗ trợ tính năng này, Không truy cập được Wallet trong cả trình đơn cài đặt nhanh và chế độ khoá màn hình.
- Nếu ứng dụng thanh toán mặc định qua NFC hỗ trợ tính năng này, thì tính năng Truy cập nhanh Bạn có thể truy cập Wallet trong ngăn cài đặt nhanh.
- Nếu ứng dụng thanh toán mặc định NFC hỗ trợ tính năng này và nếu
Chế độ cài đặt của
LOCKSCREEN_SHOW_WALLET
làtrue
, Ví Truy cập nhanh đang có thể truy cập trên màn hình khoá. - Nếu ứng dụng thanh toán mặc định NFC hỗ trợ tính năng này và nếu
Chế độ cài đặt của
LOCKSCREEN_SHOW_WALLET
làfalse
, nhưng Ví Truy cập nhanh thì không có thể truy cập trên màn hình khoá.
Trạng thái 0
Nếu
QuickAccessWalletService
được bật và xuất nhưng không bật cung cấp thẻ bất kỳ, ô trong ngăn sẽ xuất hiện như trong ví dụ trong Hình 7. Khi bạn nhấp vào thẻ thông tin này, ứng dụng thanh toán mặc định có hỗ trợ NFC sẽ mở ra.Hình 7. Ô ví dụ trong ngăn cho thấy ứng dụng thanh toán NFC mặc định.
Nhấp vào chế độ xem trạng thái trống như trong Hình 8 sẽ mở ứng dụng thanh toán NFC mặc định. Chế độ xem trạng thái trống này chỉ hiển thị khi người dùng còn một thẻ trong ví, hãy xoá thẻ đó khỏi phần thông tin chi tiết của thẻ rồi quay lại chế độ xem ví.
Màn hình khoá sẽ hiện biểu tượng chiếc ví.
Hình 8. Chế độ xem trạng thái trống trong giao diện người dùng của Wallet 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ì ô trong ngăn được minh hoạ trong Hình 9.
Hình 9. Ô ví dụ trong ngăn khi ứng dụng Wallet có một hoặc nhiều thẻ.
Khi nhấp vào thẻ thông tin, bạn sẽ thấy một băng chuyền thẻ.
Màn hình khoá hiện một nút để mở Ví Truy cập nhanh.
Hình 10. Giao diện người dùng của Wallet Truy cập nhanh, trong đó có một thẻ hiển thị.
Nếu thẻ được hiển thị đại diện cho một phương thức thanh toán NFC, điện thoại đến trạm thanh toán NFC, dẫn đến việc phương thức thanh toán đó đang được sử dụng và chế độ xem ví bị đóng.
Khi bạn nhấp vào một thẻ xuất hiện, hoạt động chi tiết trên thẻ đó sẽ mở ra.
Nếu
QuickAccessWalletService
cung cấp nhiều thẻ, người dùng có thể vuốt giữa các thẻ.Trình đơn mục bổ sung có một mục: hãy mở phần cài đặt màn hình khoá để người dùng có thể thay đổi tuỳ chọn Show wallet (Hiện ví).
Kiểm thử trạng thái khoá
- Nếu điện thoại ở trạng thái khoá, thì chiếc ví sẽ xuất hiện trong trình đơn cài đặt nhanh bóng, với nội dung mô tả là Thêm thẻ nếu không có thẻ nào trong chế độ mặc định ứng dụng thanh toán 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á, thì chế độ hiển thị của ví trên màn hình khoá sẽ
do chế độ cài đặt
Secure.LOCKSCREEN_SHOW_WALLET
kiểm soát kiểm soát trong phần Cài đặt. - Nếu điện thoại bị khoá,
LOCKSCREEN_SHOW_WALLET
sẽ làfalse
và không có thẻ nào có trong ứng dụng thanh toán NFC mặc định, nên ví sẽ không hiển thị trên màn hình khóa. - Nếu điện thoại bị khoá,
LOCKSCREEN_SHOW_WALLET
sẽ làtrue
và không có thẻ nào có trong ứng dụng thanh toán NFC mặc định, nên ví sẽ không hiển thị trên màn hình khóa. - Nếu điện thoại đang khoá,
LOCKSCREEN_SHOW_WALLET
sẽ làtrue
và các thẻ có trong ứng dụng thanh toán NFC mặc định, ví sẽ hiển thị trên khoá màn hình. - Mở khoá điện thoại trong khi ví đang hiển thị trên khoá dẫn đến việc thẻ được truy vấn lại, dẫn đến việc 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ể chuyển đến chế độ xem ví bằng cách vuốt sang trái và sang phải và nghe thông tin mô tả nội dung trên các thẻ.
- Vuốt sang trái và sang phải khi TalkBack đang bật sẽ chọn lần lượt 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 khi thanh toán qua NFC thiết bị đầu cuối.
Bài kiểm thử thủ công dành cho Android 11
Việc thử nghiệm các tính năng cốt lõi của Ví truy cập nhanh yêu cầu thanh toán qua NFC
thiết bị thanh toán (thực hoặc giả) và ứng dụng thanh toán NFC giúp triển khai
QuickAccessWalletService
(ứng dụng ví). Các tính năng cốt lõi phải được kiểm thử
bao gồm tình trạng còn hàng, trạng thái ban đầu, lựa chọn thẻ và hoạt động 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à là giá trị mặc định Ứng dụng thanh toán NFC hỗ trợ tính năng này, người dùng có thể sử dụng Ví Truy cập nhanh. - Nếu chế độ cài đặt
GLOBAL_ACTIONS_PANEL_ENABLED
làfalse
và là giá trị mặc định Ứng dụng thanh toán NFC hỗ trợ tính năng này, nhưng Ví truy cập nhanh thì không dễ sử dụng. - Nếu chế độ cài đặt
GLOBAL_ACTIONS_PANEL_ENABLED
làtrue
và là giá trị mặc định Ứng dụng thanh toán NFC không hỗ trợ tính năng này, ví dụ: Quick Access Wallet không thể truy cập. - Nếu chế độ cài đặt
GLOBAL_ACTIONS_PANEL_ENABLED
làfalse
và là giá trị mặc định Ứng dụng thanh toán NFC không hỗ trợ tính năng này, ví dụ: Quick Access Wallet không thể truy cập.
Trạng thái 0
- Nếu
QuickAccessWalletService
được bật và xuất nhưng không bật khi cung cấp thẻ bất kỳ, giao diện người dùng của Wallet 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 Wallet sẽ mở ra.
Trạng thái khác 0
Nếu ứng dụng Wallet 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 của Ví Truy cập nhanh.
Nếu thẻ được hiển thị đại diện cho một phương thức thanh toán NFC, điện thoại đến trạm thanh toán NFC, dẫn đến việc phương thức thanh toán đó đang được sử dụng và chế độ xem ví bị đóng.
Thao tác nhấp vào một thẻ được hiển thị sẽ đóng chế độ xem ví và mở hoạt động chi tiết của thẻ đó.
Nếu
QuickAccessWalletService
cung cấp nhiều thẻ, người dùng có thể vuốt giữa các thẻ.Trình đơn mục bổ sung chứa hai mục nhập: một mục mở ra ứng dụng Wallet và một thao tác mở ra hộp thoại Hiển thị thẻ và thẻ và vé trong phần Cài đặt.
Kiểm thử trạng thái khoá
- Nếu điện thoại bị khoá, khả năng hiển thị của ví sẽ do
Chế độ cài đặt
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
, có thể là kiểm soát trong phần Cài đặt. - Nếu điện thoại bị khoá và
POWER_MENU_LOCK_SHOW_CONTENT
đangfalse
, thì wallet không được hiển thị. - Nếu điện thoại bị khoá và
POWER_MENU_LOCK_SHOW_CONTENT
đangtrue
, thì wallet được hiển thị. - Mở khoá điện thoại trong khi ví đang hiển thị trên khoá dẫn đến việc thẻ được truy vấn lại, dẫn đến việc 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ể chuyển đến chế độ xem ví bằng cách vuốt sang trái và sang phải và nghe thông tin mô tả nội dung trên các thẻ.
- Vuốt sang trái và phải khi bật TalkBack sẽ chọn lần lượt 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 qua NFC khi thanh toán qua NFC thiết bị đầu cuối.