Fitur Dompet Akses Cepat, yang tersedia di Android 11, memungkinkan pengguna mengakses kartu pembayaran dan kartu yang relevan langsung dari menu daya. Kasus penggunaan utama mencakup memilih metode pembayaran yang sesuai sebelum melakukan transaksi di terminal NFC dan mengakses penerbangan dan tiket lainnya untuk acara mendatang dengan cepat.
Di Android 12 atau yang lebih baru, fitur Wallet Akses Cepat tersedia dari menu samping seperti yang ditunjukkan pada Gambar 1 dan Gambar 2.
Di Android 11, fitur ini tersedia dari menu daya seperti yang ditunjukkan pada Gambar 3.
Persyaratan
Perangkat Anda harus memiliki NFC untuk menggunakan fitur Wallet Akses Cepat. Fitur ini
terikat dengan QuickAccessWalletService
dari aplikasi pembayaran NFC default, yang berarti
perangkat juga harus mendukung emulasi kartu berbasis host (HCE)
NFC.
Ringkasan fitur
Ada dua bagian untuk Dompet Akses Cepat: UI Dompet Akses Cepat dan penyedia kartu Wallet Akses Cepat.
Di Android 12 atau yang lebih baru, UI Wallet berjalan di UI
Sistem dan terletak di
frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
. Di
Android 11, UI Wallet yang berada di
platform/packages/apps/QuickAccessWallet
harus diinstal dan diizinkan.
Penyedia kartu Wallet Akses Cepat adalah aplikasi pembayaran NFC default. Pengguna dapat
menginstal beberapa aplikasi pembayaran NFC secara bersamaan, tetapi hanya aplikasi pembayaran NFC
default yang dapat menampilkan kartu di menu daya. Anda dapat menentukan aplikasi pembayaran
NFC yang ditetapkan sebagai default pada awalnya, tetapi pengguna dapat memilih aplikasi
lain di Setelan. Jika hanya satu aplikasi pembayaran NFC yang diinstal, aplikasi tersebut akan otomatis menjadi
default (lihat
CardEmulationManager
).
Implementasi
Untuk menyediakan kartu ke UI Quick Access Wallet, aplikasi pembayaran
NFC harus mengimplementasikan
QuickAccessWalletService
.
Aplikasi pembayaran harus menyertakan entri manifes yang mengiklankan layanan.
Untuk memastikan bahwa hanya UI Sistem yang dapat terikat ke QuickAccessWalletService
, aplikasi pembayaran NFC harus mewajibkan
izin android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
. Mewajibkan izin
ini memastikan bahwa
hanya UI Sistem yang dapat mengikat ke 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>
Informasi tambahan tentang dompet disertakan dalam file XML yang ditautkan:
<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"/>
Selanjutnya, aplikasi pembayaran harus menerapkan 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
}
}
Jika HostApduService
mulai menangani transaksi NFC dan, akibatnya,
memulai aktivitas untuk menampilkan progres dan hasil pembayaran, aplikasi tersebut juga harus
mencoba mendapatkan referensi ke QuickAccessWalletService
yang terikat dan memanggil
QuickAccessWalletService#sendEvent
dengan jenis peristiwa
TYPE_NFC_PAYMENT_STARTED
. Hal ini menyebabkan UI Wallet Akses Cepat
ditutup, sehingga pengguna dapat melihat aktivitas pembayaran tanpa hambatan.
Untuk dokumentasi tambahan tentang penerapan QuickAccessWalletService
, lihat
QuickAccessWalletService
dan
uji CTS
TestQuickAccessWalletService
.
Mengaktifkan UI Wallet Akses Cepat di Android 11
Untuk mengonfigurasi Wallet Akses Cepat agar tersedia dari menu daya
di Android 11, sertakan
target
QuickAccessWallet
dalam build dan aktifkan plugin globalactions.wallet
dengan menambahkan
baris yang dicetak tebal dalam contoh kode di bawah ke
file 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>
Tentukan aplikasi pembayaran NFC default di
file konfigurasi setelan
menggunakan def_nfc_payment_component
.
Aplikasi pembayaran NFC default harus mengekspos
QuickAccessWalletService
untuk memberikan kartu ke Wallet Akses Cepat. Jika aplikasi pembayaran NFC default
tidak mengekspor layanan ini, UI dompet akan disembunyikan.
Detail penerapan QuickAccessWalletService
QuickAccessWalletService
memiliki tiga metode abstrak yang harus diimplementasikan:
onWalletCardsRequested
, onWalletCardSelected
, dan onWalletDismissed
. Diagram
urutan di bawah ini mengilustrasikan urutan panggilan saat Wallet Akses Cepat
dilihat tepat sebelum pembayaran NFC.
Tidak semua tampilan Dompet Akses Cepat diikuti oleh pembayaran NFC, tetapi
Gambar 4 di atas menggambarkan semua kemampuan
QuickAccessWalletService
. Dalam contoh ini, penyedia kartu Dompet Akses Cepat
menerapkan elemen yang diuraikan dengan warna biru. Diasumsikan bahwa kartu pembayaran
disimpan di perangkat dalam database dan diakses melalui
antarmuka bernama PaymentCardManager
. Selanjutnya, diasumsikan bahwa aktivitas
yang disebut PaymentActivity
menampilkan hasil pembayaran NFC. Alurnya
berjalan sebagai berikut:
- Pengguna melakukan gestur untuk memunculkan Wallet Akses Cepat.
UI Dompet Akses Cepat (bagian dari UI Sistem) memeriksa pengelola paket untuk melihat apakah aplikasi pembayaran NFC default mengekspor
QuickAccessWalletService
.- Jika layanan tidak diekspor, Wallet Akses Cepat tidak akan ditampilkan.
UI Wallet Akses Cepat terikat ke
QuickAccessWalletService
dan memanggilonWalletCardsRequested
. Metode ini menggunakan objek permintaan yang berisi data tentang jumlah dan ukuran kartu yang dapat diberikan dan callback. Callback dapat dipanggil dari thread latar belakang.QuickAccessWalletService
menghitung kartu yang ingin ditampilkan, lalu memanggil metodeonSuccess
pada callback yang disediakan. Sebaiknya layanan melakukan tindakan ini di thread latar belakang.Segera setelah kartu ditampilkan, UI Sistem akan memberi tahu
QuickAccessWalletService
bahwa kartu pertama telah dipilih dengan memanggilonWalletCardSelected
.onWalletCardSelected
dipanggil setiap kali pengguna memilih kartu baru.onWalletCardSelected
mungkin dipanggil meskipun kartu yang saat ini dipilih belum berubah.
Saat pengguna menutup Dompet Akses Cepat, UI Sistem akan memberi tahu
QuickAccessWalletService
dengan memanggilonWalletDismissed
.
Pada contoh di atas, pengguna membawa ponsel ke dalam jangkauan terminal pembayaran
NFC saat dompet ditampilkan. Komponen utama dalam menangani pembayaran
NFC adalah HostApduService
, yang harus diterapkan untuk memproses APDU
yang disediakan oleh pembaca NFC (untuk informasi selengkapnya, lihat
Emulasi kartu berbasis host).
Diasumsikan bahwa aplikasi pembayaran memulai aktivitas untuk menampilkan progres dan
hasil interaksi dengan terminal NFC. Namun, UI Wallet
Akses Cepat ditampilkan di atas jendela aplikasi, yang berarti bahwa
aktivitas pembayaran dikaburkan oleh UI Wallet Akses Cepat. Untuk memperbaikinya, aplikasi harus memberi tahu UI Sistem bahwa UI Wallet Akses Cepat harus
ditutup. Hal ini dapat dilakukan dengan mendapatkan referensi ke QuickAccessWalletService
terikat dan memanggil sendWalletServiceEvent
dengan jenis
peristiwa TYPE_NFC_PAYMENT_STARTED
.
Implementasi contoh 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();
});
}
}
Untuk mengetahui detail selengkapnya tentang QuickAccessWalletService
, lihat
referensi API QuickAccessWalletService
.
Izin
Entri manifes untuk QuickAccessWalletService
harus memerlukan
izin android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
yang diperkenalkan di
Android 11. Ini adalah izin tingkat tanda tangan yang dimiliki
oleh UI Sistem, yang berarti bahwa
hanya proses UI Sistem yang dapat mengikat ke implementasi
QuickAccessWalletService
. Perhatikan bahwa aplikasi yang di-sideload dapat mengklaim izin
ini dan mendapatkan akses penuh ke data QuickAccessWalletService
di perangkat
yang menjalankan Android 10 atau yang lebih rendah. Untuk mencegah hal ini, sebaiknya layanan
memeriksa versi build di onCreate
dan mengaktifkan layanan hanya di perangkat
yang menjalankan Android 11 dan yang lebih tinggi. Tidak ada izin aplikasi lain
yang diperlukan selain yang diperlukan untuk menyediakan layanan pembayaran
emulasi kartu host.
Jika aplikasi pembayaran NFC default tidak menerapkan atau mengekspor
QuickAccessWalletService
, UI Wallet Akses Cepat tidak akan ditampilkan.
Setelan di Android 12
Untuk mengaktifkan atau menonaktifkan Dompet Akses Cepat dari layar kunci, pengguna dapat menggunakan tombol Tampilkan dompet di Setelan > Tampilan > Layar kunci. Untuk menonaktifkan dompet di bayangan, pengguna harus mengeditnya secara manual di menu pengaturan cepat.
Gambar 5. Menampilkan tombol dompet di halaman Lock screen di Setelan.
Setelan di Android 11
Pengguna dapat menonaktifkan fitur Wallet Akses Cepat dari aplikasi Setelan. Halaman setelan dapat ditemukan di Setelan > Sistem > Gestur > Kartu & tiket.
Penyesuaian
Menambahkan tampilan Dompet Akses Cepat ke lokasi lain di UI Sistem
UI Wallet Akses Cepat
dibuat sebagai
plugin sistem.
Meskipun implementasi AOSP memanfaatkannya di
GlobalActionsDialog
(ditampilkan pada penekanan lama), Anda dapat memindahkan fitur ke belakang gestur yang berbeda
selama Anda mempertahankan kontrak yang ditentukan oleh antarmuka plugin.
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);
}
}
UI Wallet Akses Cepat menerapkan GlobalActionsPanelPlugin
dan PanelViewController
.
GlobalActionsDialog
mendapatkan instance plugin dompet menggunakan
com.android.systemui.Dependency
:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Setelah memeriksa bahwa plugin bukan null dan PanelViewController
yang ditampilkan oleh onPanelShown
bukan null, dialog akan melampirkan View
yang disediakan
oleh getPanelContent
ke View
-nya sendiri dan memberikan callback yang sesuai untuk
peristiwa sistem.
// 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();
Untuk menghapus Dompet Akses Cepat dari menu daya, hapus target
QuickAccessWallet
dari build sistem. Untuk menghapus Wallet
Akses Cepat dari menu daya, tetapi menambahkannya ke tampilan yang disediakan UI Sistem lain,
sertakan target build dan hapus referensi ke GlobalActionsPanelPlugin
dari
GlobalActionsImpl
.
Setel konfigurasi default
Android 12
Di Android 12 atau yang lebih baru, Wallet Akses Cepat
selalu terlihat di panel setelan cepat. Visibilitas Wallet Akses
Cepat di layar kunci dibatasi oleh setelan aman berikut:
LOCKSCREEN_SHOW_WALLET
. Setelan ini mengontrol apakah ikon Dompet Akses Cepat
ditampilkan di kanan bawah layar kunci. Setelan ini disetel ke
true
secara default, tetapi dapat dinonaktifkan oleh pengguna di Setelan >
Tampilan > Layar kunci > Tampilkan dompet.
Android 11
Di Android 11, visibilitas Dompet Akses Cepat dibatasi oleh dua setelan aman:
GLOBAL_ACTIONS_PANEL_ENABLED
dan GLOBAL_ACTIONS_PANEL_AVAILABLE
. Setelan
AVAILABLE
mengontrol apakah fitur dapat diaktifkan dan dinonaktifkan di
Setelan. Setelan ini disetel ke true
oleh
WalletPluginService
.
Jika QuickAccessWallet
tidak disertakan dalam build, setelan akan tetap
false
. Setelan ENABLED
disetel ke true
secara default di tempat yang sama,
tetapi dapat dinonaktifkan oleh pengguna di Setelan. Untuk mengubah perilaku default,
ubah WalletPluginService#enableFeatureInSettings
.
Validasi
Untuk memvalidasi penerapan Dompet Akses Cepat, jalankan CTS dan pengujian manual. Perubahan pada plugin juga harus menjalankan pengujian robolectric yang disertakan.
Pengujian CTS
Jalankan pengujian CTS yang terletak di
cts/tests/quickaccesswallet
.
Pengujian manual untuk Android 12
Untuk menguji fitur inti Quick Access Wallet, Anda memerlukan terminal pembayaran
NFC (asli atau palsu) dan aplikasi pembayaran NFC yang mengimplementasikan
QuickAccessWalletService
(aplikasi dompet). Fitur inti yang harus diuji
mencakup: ketersediaan, status nol, pemilihan kartu, dan perilaku layar kunci.
Ketersediaan
- Jika aplikasi pembayaran NFC default tidak mendukung fitur ini, Wallet Akses Cepat tidak dapat diakses di setelan cepat atau layar kunci.
- Jika aplikasi pembayaran NFC default mendukung fitur ini, Wallet Akses Cepat dapat diakses di panel setelan cepat.
- Jika aplikasi pembayaran NFC default mendukung fitur ini dan jika
setelan
LOCKSCREEN_SHOW_WALLET
adalahtrue
, Wallet Akses Cepat dapat diakses di layar kunci. - Jika aplikasi pembayaran NFC default mendukung fitur ini dan jika
setelan
LOCKSCREEN_SHOW_WALLET
adalahfalse
, Dompet Akses Cepat tidak akan dapat diakses di layar kunci.
Status nol
Jika
QuickAccessWalletService
diaktifkan dan diekspor, tetapi tidak memberikan kartu apa pun, kartu di Shade akan muncul seperti yang ditunjukkan dalam contoh pada Gambar 7. Mengklik kartu akan membuka aplikasi pembayaran NFC default.Gambar 7. Contoh kartu di layar yang menampilkan aplikasi pembayaran NFC default.
Mengklik tampilan status kosong seperti yang ditunjukkan pada Gambar 8 akan membuka aplikasi pembayaran NFC default. Tampilan status kosong ini hanya ditampilkan jika pengguna memiliki satu kartu tersisa di dompet, menghapus kartu dari halaman detail kartu, lalu kembali ke tampilan dompet.
Layar kunci menampilkan ikon dompet.
Gambar 8. Tampilan status kosong di UI Wallet Akses Cepat.
Status bukan nol
Jika aplikasi dompet menyediakan satu atau beberapa kartu, kartu di bayangan akan muncul seperti yang ditunjukkan pada Gambar 9.
Gambar 9. Contoh kartu di bayangan saat aplikasi Wallet memiliki satu atau beberapa kartu.
Mengklik kartu akan menampilkan carousel kartu.
Layar kunci menampilkan tombol yang membuka Dompet Akses Cepat.
Gambar 10. UI Wallet Akses Cepat dengan kartu yang ditampilkan.
Jika kartu yang ditampilkan mewakili metode pembayaran NFC, mendekatkan ponsel ke terminal pembayaran NFC akan menyebabkan metode pembayaran tersebut digunakan dan tampilan dompet ditutup.
Mengklik kartu yang ditampilkan akan membuka aktivitas mendetail untuk kartu tersebut.
Jika beberapa kartu disediakan oleh
QuickAccessWalletService
, pengguna dapat menggeser antar-kartu.Menu tambahan berisi satu entri: membuka setelan layar kunci sehingga pengguna dapat mengubah opsi Tampilkan dompet.
Pengujian status kunci
- Jika ponsel terkunci, dompet akan terlihat di panel setelan cepat, dengan deskripsi Tambahkan kartu jika tidak ada kartu di aplikasi pembayaran default, atau buka kunci untuk digunakan jika ada kartu di aplikasi pembayaran default.
- Jika ponsel terkunci, visibilitas dompet di layar kunci
dikontrol oleh setelan
Secure.LOCKSCREEN_SHOW_WALLET
, yang dikontrol di Setelan. - Jika ponsel terkunci,
LOCKSCREEN_SHOW_WALLET
adalahfalse
, dan tidak ada kartu di aplikasi pembayaran NFC default, dompet tidak akan ditampilkan di layar kunci. - Jika ponsel terkunci,
LOCKSCREEN_SHOW_WALLET
adalahtrue
, dan tidak ada kartu di aplikasi pembayaran NFC default, dompet tidak akan ditampilkan di layar kunci. - Jika ponsel terkunci,
LOCKSCREEN_SHOW_WALLET
adalahtrue
, dan kartu ada di aplikasi pembayaran NFC default, dompet akan ditampilkan di layar kunci. - Membuka kunci ponsel saat dompet ditampilkan di layar kunci akan menyebabkan kartu diminta ulang, yang dapat menghasilkan konten kartu yang berbeda.
Pengujian aksesibilitas
- Pengguna Talkback dapat menavigasi tampilan dompet dengan menggeser ke kiri dan ke kanan serta dengan mendengarkan deskripsi konten kartu.
- Menggeser ke kiri dan ke kanan dengan Talkback diaktifkan akan memilih setiap kartu secara bergantian. Pengguna Talkback dapat memilih dan menggunakan metode pembayaran NFC di terminal pembayaran NFC.
Pengujian manual untuk Android 11
Pengujian fitur inti Dompet Akses Cepat memerlukan terminal pembayaran
NFC (asli atau palsu) dan aplikasi pembayaran NFC yang menerapkan
QuickAccessWalletService
(aplikasi dompet). Fitur inti yang harus diuji
meliputi ketersediaan, status nol, pemilihan kartu, dan perilaku layar kunci.
Ketersediaan
- Jika setelan
GLOBAL_ACTIONS_PANEL_ENABLED
adalahtrue
dan aplikasi pembayaran NFC default mendukung fitur ini, Wallet Akses Cepat dapat diakses. - Jika setelan
GLOBAL_ACTIONS_PANEL_ENABLED
adalahfalse
dan aplikasi pembayaran NFC default mendukung fitur ini, Wallet Akses Cepat tidak dapat diakses. - Jika setelan
GLOBAL_ACTIONS_PANEL_ENABLED
adalahtrue
dan aplikasi pembayaran NFC default tidak mendukung fitur tersebut, Dompet Akses Cepat tidak dapat diakses. - Jika setelan
GLOBAL_ACTIONS_PANEL_ENABLED
adalahfalse
dan aplikasi pembayaran NFC default tidak mendukung fitur ini, Wallet Akses Cepat tidak dapat diakses.
Status nol
- Jika
QuickAccessWalletService
diaktifkan dan diekspor, tetapi tidak memberikan kartu apa pun, UI Wallet Akses Cepat akan menampilkan tampilan status kosong. Mengklik tampilan status kosong akan membuka aplikasi dompet.
Status non-nol
Jika aplikasi Wallet menyediakan satu atau beberapa kartu, kartu akan ditampilkan di UI Wallet Akses Cepat.
Jika kartu yang ditampilkan mewakili metode pembayaran NFC, mendekatkan ponsel ke terminal pembayaran NFC akan menyebabkan metode pembayaran tersebut digunakan dan tampilan dompet ditutup.
Mengklik kartu yang ditampilkan akan menutup tampilan dompet dan membuka aktivitas mendetail untuk kartu tersebut.
Jika beberapa kartu disediakan oleh
QuickAccessWalletService
, pengguna dapat menggeser antar-kartu.Menu tambahan berisi dua entri: satu yang membuka aplikasi dompet dan satu lagi yang membuka layar Tampilkan kartu & kartu pas di Setelan.
Pengujian status kunci
- Jika ponsel dikunci, visibilitas dompet dikontrol oleh
setelan
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
, yang dapat dikontrol di Setelan. - Jika ponsel dikunci dan
POWER_MENU_LOCK_SHOW_CONTENT
bernilaifalse
, dompet tidak ditampilkan. - Jika ponsel dikunci dan
POWER_MENU_LOCK_SHOW_CONTENT
bernilaitrue
, dompet akan ditampilkan. - Membuka kunci ponsel saat dompet ditampilkan di layar kunci akan menyebabkan kartu dikueri ulang, yang mungkin menghasilkan konten kartu yang berbeda.
Pengujian aksesibilitas
- Pengguna TalkBack dapat membuka tampilan dompet dengan menggeser ke kiri dan ke kanan, serta dengan mendengarkan deskripsi konten kartu.
- Dengan mengaktifkan TalkBack, menggeser ke kiri dan kanan akan memilih setiap kartu secara bergantian. Pengguna TalkBack dapat memilih dan menggunakan metode pembayaran NFC di terminal pembayaran NFC.