Fitur Wallet Akses Cepat, yang tersedia mulai Android 11, memungkinkan pengguna mengakses kartu pembayaran dan kartu pas yang relevan langsung dari menu daya. Kasus penggunaan utama mencakup memilih metode pembayaran yang sesuai sebelum melakukan transaksi di terminal NFC dan mengakses penerbangan serta kartu pas lainnya dengan cepat untuk acara mendatang.
Di Android 12 atau yang lebih baru, fitur Wallet Akses Cepat tersedia dari panel notifikasi 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
terikat ke QuickAccessWalletService aplikasi pembayaran NFC default, yang berarti
perangkat juga harus mendukung NFC
emulasi kartu berbasis host (HCE).
Ringkasan fitur
Wallet Akses Cepat memiliki dua bagian: UI Wallet 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 terletak di
platform/packages/apps/QuickAccessWallet,
harus diinstal dan dimasukkan ke daftar yang 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 mana 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).
Penerapan
Untuk menyediakan kartu ke UI Wallet Akses Cepat, aplikasi pembayaran NFC
harus menerapkan
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 memerlukan izin android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE. Memerlukan izin ini memastikan bahwa hanya UI Sistem yang dapat terikat 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 wallet disertakan dalam file XML tertaut:
<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, sebagai konsekuensinya,
memulai aktivitas untuk menampilkan progres dan hasil pembayaran, aplikasi tersebut harus
juga 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 terhalang.
Untuk dokumentasi tambahan tentang penerapan QuickAccessWalletService, lihat
QuickAccessWalletService
dan pengujian CTS
TestQuickAccessWalletService.
Mengaktifkan UI Wallet Akses Cepat di Android 11
Untuk mengonfigurasi Wallet Akses Cepat agar tersedia dari menu daya
di Android 11, sertakan
QuickAccessWallet
target 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 dalam
file konfigurasi setelan
menggunakan def_nfc_payment_component.
Aplikasi pembayaran NFC default harus mengekspos
QuickAccessWalletService
untuk menyediakan kartu ke Wallet Akses Cepat. Jika aplikasi pembayaran NFC default tidak mengekspor layanan ini, UI wallet akan disembunyikan.
Detail penerapan QuickAccessWalletService
QuickAccessWalletService memiliki tiga metode abstrak yang harus diterapkan: onWalletCardsRequested, onWalletCardSelected, dan onWalletDismissed. Diagram urutan di bawah mengilustrasikan urutan panggilan saat Wallet Akses Cepat dilihat segera sebelum pembayaran NFC.
Tidak semua tampilan Wallet Akses Cepat diikuti oleh pembayaran NFC, tetapi Gambar 4 di atas mengilustrasikan semua kemampuan QuickAccessWalletService. Dalam contoh ini, penyedia kartu Wallet 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 adalah sebagai berikut:
- Pengguna melakukan gestur untuk menampilkan Wallet Akses Cepat.
UI Wallet 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
QuickAccessWalletServicedan memanggilonWalletCardsRequested. Metode ini mengambil objek permintaan yang berisi data tentang jumlah dan ukuran kartu yang dapat diberikan serta callback. Callback dapat dipanggil dari thread latar belakang.QuickAccessWalletServicemenghitung kartu yang ingin ditampilkan, lalu memanggil metodeonSuccesspada callback yang disediakan. Sebaiknya layanan melakukan tindakan ini di thread latar belakang.Segera setelah kartu ditampilkan, UI Sistem akan memberi tahu
QuickAccessWalletServicebahwa kartu pertama telah dipilih dengan memanggilonWalletCardSelected.onWalletCardSelecteddipanggil setiap kali pengguna memilih kartu baru.onWalletCardSelecteddapat dipanggil meskipun kartu yang saat ini dipilih tidak berubah.
Saat pengguna menutup Wallet Akses Cepat, UI Sistem akan memberi tahu
QuickAccessWalletServicedengan memanggilonWalletDismissed.
Dalam contoh di atas, pengguna mendekatkan ponsel ke terminal pembayaran NFC saat wallet ditampilkan. Komponen utama untuk menangani pembayaran NFC
adalah HostApduService, yang harus diterapkan untuk memproses APDU
yang disediakan oleh pembaca NFC (untuk mengetahui 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 aktivitas pembayaran terhalang oleh UI Wallet Akses Cepat. Untuk memperbaiki hal ini, aplikasi harus memberi tahu UI Sistem bahwa UI Wallet Akses Cepat harus ditutup. Aplikasi dapat melakukannya dengan mendapatkan referensi ke QuickAccessWalletService yang terikat dan memanggil sendWalletServiceEvent dengan jenis peristiwa TYPE_NFC_PAYMENT_STARTED.
Contoh penerapan 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
QuickAccessWalletService referensi API.
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 hanya proses UI Sistem yang dapat terikat ke penerapan QuickAccessWalletService. Perlu diketahui 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 host card emulation.
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 Wallet Akses Cepat dari layar kunci, pengguna dapat menggunakan tombol Tampilkan wallet di Setelan > Tampilan > Layar kunci. Untuk menonaktifkan wallet di panel notifikasi, pengguna harus mengeditnya secara manual di panel setelan cepat.
Gambar 5. Tombol Tampilkan wallet di halaman Layar kunci 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 & kartu pas.
Penyesuaian
Menambahkan tampilan Wallet Akses Cepat ke lokasi lain di UI Sistem
UI
Wallet Akses Cepat
dibuat sebagai
plugin sistem.
Meskipun penerapan AOSP menggunakannya di
GlobalActionsDialog
(ditampilkan saat menekan tombol daya lama), Anda dapat memindahkan fitur di balik gestur lain
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 wallet menggunakan com.android.systemui.Dependency:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Setelah memeriksa bahwa plugin tidak null dan PanelViewController
yang ditampilkan oleh onPanelShown tidak null, dialog akan melampirkan View yang disediakan
oleh getPanelContent ke View miliknya sendiri dan menyediakan 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 Wallet Akses Cepat dari menu daya, hapus target QuickAccessWallet dari build sistem. Untuk menghapus Wallet Akses Cepat
dari menu daya, tetapi menambahkannya ke tampilan UI Sistem lain yang disediakan,
sertakan target build dan hapus referensi ke GlobalActionsPanelPlugin
dari
GlobalActionsImpl.
Menetapkan 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 Wallet Akses Cepat ditampilkan di kanan bawah layar kunci. Setelan ini ditetapkan ke true secara default, tetapi dapat dinonaktifkan oleh pengguna di Setelan > Tampilan > Layar kunci > Tampilkan wallet.
Android 11
Di Android 11, visibilitas Wallet 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 ditetapkan ke true oleh
WalletPluginService.
Jika QuickAccessWallet tidak disertakan dalam build, setelan akan tetap false. Setelan ENABLED ditetapkan 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 Wallet 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
Pengujian fitur inti Wallet Akses Cepat memerlukan terminal pembayaran NFC (nyata atau palsu) dan aplikasi pembayaran NFC yang menerapkan QuickAccessWalletService (aplikasi wallet). Fitur inti yang harus diuji mencakup: ketersediaan, status kosong, 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 maupun 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_WALLETadalahtrue, Wallet Akses Cepat dapat diakses di layar kunci. - Jika aplikasi pembayaran NFC default mendukung fitur ini dan jika setelan
LOCKSCREEN_SHOW_WALLETadalahfalse, Wallet Akses Cepat tidak dapat diakses di layar kunci.
Status kosong
Jika
QuickAccessWalletServicediaktifkan dan diekspor, tetapi tidak menyediakan kartu apa pun, kartu di Panel notifikasi akan muncul seperti yang ditunjukkan dalam contoh di Gambar 7. Mengklik kartu akan membuka aplikasi pembayaran NFC default.
Gambar 7. Contoh kartu di panel notifikasi 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 saat pengguna memiliki satu kartu tersisa di wallet, menghapus kartu dari halaman detail kartu, lalu kembali ke tampilan wallet.
Layar kunci menampilkan ikon wallet.
Gambar 8. Tampilan status kosong di UI Wallet Akses Cepat.
Status tidak kosong
Jika aplikasi wallet menyediakan satu atau beberapa kartu, kartu di panel notifikasi akan muncul seperti yang ditunjukkan pada Gambar 9.
Gambar 9. Contoh kartu di panel notifikasi saat aplikasi wallet memiliki satu atau beberapa kartu.
Mengklik kartu akan menampilkan carousel kartu.
Layar kunci menampilkan tombol yang membuka Wallet Akses Cepat.
Gambar 10. UI Wallet Akses Cepat dengan kartu ditampilkan.
Jika kartu yang ditampilkan mewakili metode pembayaran NFC, mendekatkan ponsel ke terminal pembayaran NFC akan menyebabkan metode pembayaran tersebut digunakan dan tampilan wallet 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: buka setelan layar kunci sehingga pengguna dapat mengubah opsi Tampilkan wallet.
Pengujian status kunci
- Jika ponsel terkunci, wallet akan terlihat di panel setelan cepat, dengan deskripsi Tambahkan kartu jika tidak ada kartu di aplikasi pembayaran default, atau buka kunci untuk menggunakan jika ada kartu di aplikasi pembayaran default.
- Jika ponsel terkunci, visibilitas wallet di layar kunci dikontrol oleh setelan
Secure.LOCKSCREEN_SHOW_WALLET, yang dikontrol di Setelan. - Jika ponsel terkunci,
LOCKSCREEN_SHOW_WALLETadalahfalse, dan tidak ada kartu di aplikasi pembayaran NFC default, wallet tidak akan ditampilkan di layar kunci. - Jika ponsel terkunci,
LOCKSCREEN_SHOW_WALLETadalahtrue, dan tidak ada kartu di aplikasi pembayaran NFC default, wallet tidak akan ditampilkan di layar kunci. - Jika ponsel terkunci,
LOCKSCREEN_SHOW_WALLETadalahtrue, dan ada kartu di aplikasi pembayaran NFC default, wallet akan ditampilkan di layar kunci. - Membuka kunci ponsel saat wallet ditampilkan di layar kunci akan menyebabkan kartu dikueri ulang, yang mungkin menghasilkan konten kartu yang berbeda.
Pengujian aksesibilitas
- Pengguna TalkBack dapat menavigasi tampilan wallet dengan menggeser ke kiri dan kanan serta dengan mendengarkan deskripsi konten kartu.
- Menggeser ke kiri dan 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 Wallet Akses Cepat memerlukan terminal pembayaran NFC (nyata atau palsu) dan aplikasi pembayaran NFC yang menerapkan QuickAccessWalletService (aplikasi wallet). Fitur inti yang harus diuji mencakup ketersediaan, status kosong, pemilihan kartu, dan perilaku layar kunci.
Ketersediaan
- Jika setelan
GLOBAL_ACTIONS_PANEL_ENABLEDadalahtruedan aplikasi pembayaran NFC default mendukung fitur ini, Wallet Akses Cepat dapat diakses. - Jika setelan
GLOBAL_ACTIONS_PANEL_ENABLEDadalahfalsedan aplikasi pembayaran NFC default mendukung fitur ini, Wallet Akses Cepat tidak dapat diakses. - Jika setelan
GLOBAL_ACTIONS_PANEL_ENABLEDadalahtruedan aplikasi pembayaran NFC default tidak mendukung fitur ini, Wallet Akses Cepat tidak dapat diakses. - Jika setelan
GLOBAL_ACTIONS_PANEL_ENABLEDadalahfalsedan aplikasi pembayaran NFC default tidak mendukung fitur ini, Wallet Akses Cepat tidak dapat diakses.
Status kosong
- Jika
QuickAccessWalletServicediaktifkan dan diekspor, tetapi tidak menyediakan kartu apa pun, UI Wallet Akses Cepat akan menampilkan tampilan status kosong. Mengklik tampilan status kosong akan membuka aplikasi wallet.
Gambar 11. Tampilan status kosong di UI Wallet Akses Cepat.
Status tidak kosong
Jika aplikasi wallet menyediakan satu atau beberapa kartu, kartu akan ditampilkan di UI Wallet Akses Cepat.
Gambar 12. UI Wallet Akses Cepat dengan kartu ditampilkan. Jika kartu yang ditampilkan mewakili metode pembayaran NFC, mendekatkan ponsel ke terminal pembayaran NFC akan menyebabkan metode pembayaran tersebut digunakan dan tampilan wallet ditutup.
Mengklik kartu yang ditampilkan akan menutup tampilan wallet 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 wallet dan satu yang membuka layar Tampilkan kartu &kartu pas di Setelan.
Pengujian status kunci
- Jika ponsel terkunci, visibilitas wallet dikontrol oleh setelan
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT, yang dapat dikontrol di Setelan. - Jika ponsel terkunci dan
POWER_MENU_LOCK_SHOW_CONTENTadalahfalse, wallet tidak akan ditampilkan. - Jika ponsel terkunci dan
POWER_MENU_LOCK_SHOW_CONTENTadalahtrue, wallet akan ditampilkan. - Membuka kunci ponsel saat wallet ditampilkan di layar kunci akan menyebabkan kartu dikueri ulang, yang mungkin menghasilkan konten kartu yang berbeda.
Pengujian aksesibilitas
- Pengguna TalkBack dapat menavigasi tampilan wallet dengan menggeser ke kiri dan kanan serta dengan mendengarkan deskripsi konten kartu.
- Menggeser ke kiri dan kanan dengan TalkBack diaktifkan akan memilih setiap kartu secara bergantian. Pengguna TalkBack dapat memilih dan menggunakan metode pembayaran NFC di terminal pembayaran NFC.