Android 11'de kullanıma sunulan Hızlı Erişim Cüzdan özelliği, kullanıcının ödeme kartlarına ve ilgili kartlara doğrudan güç menüsünden erişmesine olanak tanır. NFC terminalinde işlem yapmadan önce uygun ödeme yöntemini seçme ve yaklaşan etkinlikler için uçuşlara ve diğer biletlere hızlıca erişme, bu özelliğin başlıca kullanım alanları arasındadır.
Android 12 veya sonraki sürümlerde Hızlı Erişim Cüzdan özelliği, Şekil 1 ve Şekil 2'de gösterildiği gibi gölgeden kullanılabilir.
Android 11'de bu özellik Şekil 3'te gösterildiği gibi güç menüsünden kullanılabilir.
Şartlar
Hızlı erişim Cüzdan özelliğini kullanmak için cihazınızda NFC olmalıdır. Bu özellik, varsayılan NFC ödeme uygulamasının QuickAccessWalletService
öğesine bağlanır. Bu nedenle, cihazın NFC ana makine tabanlı kart emülasyonunu (HCE) de desteklemesi gerekir.
Özelliğe genel bakış
Hızlı Erişim Cüzdan'ın iki bölümü vardır: Hızlı Erişim Cüzdan Kullanıcı Arayüzü ve Hızlı Erişim Cüzdan kartı sağlayıcısı.
Android 12 veya sonraki sürümlerde Cüzdan kullanıcı arayüzü, sistem kullanıcı arayüzünde çalışır ve frameworks/base/packages/SystemUI/src/com/android/systemui/wallet
bölümünde bulunur. Android 11'de, platform/packages/apps/QuickAccessWallet
adresinde bulunan Cüzdan kullanıcı arayüzü yüklü ve beyaz listeye eklenmiş olmalıdır.
Hızlı Erişim Cüzdan kart sağlayıcısı, varsayılan NFC ödeme uygulamasıdır. Kullanıcılar aynı anda birden fazla NFC ödeme uygulaması yükleyebilir ancak güç menüsünde yalnızca varsayılan NFC ödeme uygulaması kartları gösterebilir. Başlangıçta hangi NFC ödeme uygulamasının varsayılan olarak ayarlanacağını belirtebilirsiniz ancak kullanıcılar Ayarlar'da farklı bir uygulama seçebilir. Yalnızca bir NFC ödeme uygulaması yüklüyse bu uygulama otomatik olarak varsayılan olur (CardEmulationManager
bölümüne bakın).
Uygulama
NFC ödeme uygulamalarının, Hızlı Erişim Cüzdan kullanıcı arayüzüne kart sağlamak için QuickAccessWalletService
'i uygulaması gerekir.
Ödeme uygulamaları, hizmetin reklamını yapan bir manifest girişi içermelidir.
QuickAccessWalletService
öğesine yalnızca Sistem kullanıcı arayüzünün bağlanabilmesini sağlamak için NFC ödeme uygulamasının android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
iznini gerektirmesi gerekir. Bu iznin zorunlu kılınması, yalnızca sistem kullanıcı arayüzünün QuickAccessWalletService
'e bağlanabilmesini sağlar.
<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>
Cüzdanla ilgili ek bilgiler bağlı XML dosyasına dahil edilir:
<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"/>
Ardından ödeme uygulaması QuickAccessWalletService
'ü uygulamalıdır:
public class MyQuickAccessWalletService extends QuickAccessWalletService {
@Override
public void onWalletCardsRequested(
GetWalletCardsRequest request,
GetWalletCardsCallback callback) {
GetWalletCardsResponse response = // generate response
callback.onSuccess(response);
}
@Override
public void onWalletCardSelected(SelectWalletCardRequest request) {
// selecting a card should ensure that it is used when making an NFC payment
}
@Override
public void onWalletDismissed() {
// May un-select card if the wallet app has the concept of a 'default'
// payment method
}
}
HostApduService
, bir NFC işlemini gerçekleştirmeye başlar ve sonuç olarak ödemenin ilerlemesini ve sonucunu gösteren bir etkinlik başlatırsa aynı zamanda bağlı QuickAccessWalletService
için bir referans almaya ve etkinlik türüyle
QuickAccessWalletService#sendEvent
aramasını yapmaya çalışmalıdır.TYPE_NFC_PAYMENT_STARTED
Bu işlem, Hızlı Erişim Cüzdan kullanıcı arayüzünün kapatılmasına neden olur ve böylece kullanıcının ödeme etkinliğini engellenmeden görmesine olanak tanır.
QuickAccessWalletService
'ü uygulamayla ilgili ek dokümanlar için QuickAccessWalletService
ve TestQuickAccessWalletService
CTS testine bakın.
Android 11'de Cüzdan kullanıcı arayüzünü Hızlı Erişim'i etkinleştirme
Hızlı Erişim Cüzdanı'nı Android 11'de güç menüsünden kullanılacak şekilde yapılandırmak için QuickAccessWallet
hedefini derlemeye ekleyin ve aşağıdaki kod örneğinde kalın olarak gösterilen satırı overlay/frameworks/base/packages/SystemUI/res/values/config.xml
dosyasına ekleyerek globalactions.wallet
eklentisini etkinleştirin.
<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>
def_nfc_payment_component
kullanarak ayarlar yapılandırma dosyasında varsayılan NFC ödeme uygulamasını belirtin.
Varsayılan NFC ödeme uygulaması, Hızlı Erişim Cüzdanı'na kart sağlamak için QuickAccessWalletService
öğesini göstermelidir. Varsayılan NFC ödeme uygulaması bu hizmeti dışa aktarmazsa cüzdan kullanıcı arayüzü gizlenir.
QuickAccesswalletService uygulama ayrıntıları
QuickAccessWalletService
, uygulanması gereken üç soyut yöntem içeriyor:
onWalletCardsRequested
, onWalletCardSelected
ve onWalletDismissed
. Aşağıdaki ardışık düzen şemasında, NFC ödemesinden hemen önce Hızlı Erişim Cüzdanı'nın görüntülendiği bir çağrı dizisi gösterilmektedir.
Hızlı Erişim Cüzdanı'nın tüm görüntülemelerinin ardından NFC ödemesi yapılmaz ancak yukarıdaki Şekil 4'te QuickAccessWalletService
'ın tüm özellikleri gösterilmektedir. Bu örnekte, Hızlı Erişim Cüzdan kart sağlayıcısı mavi renkle belirtilen öğeleri uygular. Ödeme kartlarının cihazda bir veritabanında depolandığı ve PaymentCardManager
adlı bir arayüz üzerinden erişildiği varsayılır. Ayrıca, PaymentActivity
adlı bir etkinliğin NFC ödemesinin sonucunu gösterdiği varsayılır. Akış şöyle ilerler:
- Kullanıcı, Hızlı Erişim Cüzdanı'nı açmak için bir hareket yapar.
Hızlı Erişim Cüzdan kullanıcı arayüzü (Sistem Kullanıcı Arayüzü'nün bir parçasıdır), varsayılan NFC ödeme uygulamasının
QuickAccessWalletService
dosyasını dışa aktarıp aktarmadığını görmek için paket yöneticisini kontrol eder.- Hizmet dışa aktarılmazsa Hızlı Erişim Cüzdanı gösterilmez.
Hızlı Erişim Cüzdan kullanıcı arayüzü,
QuickAccessWalletService
öğesine bağlanır veonWalletCardsRequested
öğesini çağırır. Bu yöntem, sağlanabilecek kartların sayısı ve boyutu ile ilgili verileri ve bir geri çağırma işlevini içeren bir istek nesnesi alır. Geri çağırma işlevi, arka plan iş parçacığında çağrılabilir.QuickAccessWalletService
, göstermek istediği kartları hesaplar ve ardından sağlanan geri çağırma işlevindeonSuccess
yöntemini çağırır. Hizmetin bu işlemleri arka plan iş parçacığında gerçekleştirmesi önerilir.Kartlar gösterilir görüntülemez Sistem Kullanıcı Arayüzü,
QuickAccessWalletService
adlı kullanıcıyaonWalletCardSelected
çağrısı yapılarak ilk kartın seçildiğini bildirir.- Kullanıcı her yeni kart seçtiğinde
onWalletCardSelected
çağrılır. - Şu anda seçili olan kart değişmemiş olsa bile
onWalletCardSelected
çağrılabilir.
- Kullanıcı her yeni kart seçtiğinde
Kullanıcı Hızlı Erişim Cüzdanı'nı kapattığında Sistem Kullanıcı Arayüzü,
onWalletDismissed
işlevini çağırarakQuickAccessWalletService
'ü bilgilendirir.
Yukarıdaki örnekte, kullanıcı cüzdan gösterilirken telefonu bir NFC ödeme terminalinin kapsama alanına getiriyor. NFC ödemelerini işlemenin önemli bir bileşeni HostApduService
'tür. NFC okuyucu tarafından sağlanan APDU'ları işlemek için HostApduService
uygulanmalıdır (daha fazla bilgi için Ana makineye dayalı kart taklidi bölümüne bakın).
Ödeme uygulamasının, NFC terminaliyle etkileşimin ilerleme durumunu ve sonucunu görüntülemek için bir etkinlik başlattığı varsayılır. Ancak Hızlı Erişim Cüzdan kullanıcı arayüzü, uygulama penceresinin üst kısmında görüntülenir. Bu, ödeme etkinliğinin Cüzdan Kullanıcı Arayüzü tarafından gizlendiği anlamına gelir. Bu sorunu düzeltmek için uygulamanın, Sistem Kullanıcı Arayüzü'ne Hızlı Erişim Cüzdan kullanıcı arayüzünün kapatılması gerektiğini bildirmesi gerekir. Bunu, bağlı QuickAccessWalletService
'e referans alarak ve sendWalletServiceEvent
'u TYPE_NFC_PAYMENT_STARTED
etkinlik türüyle çağırarak yapabilir.
QuickAccesswalletService örnek uygulaması
/** Sample implementation of {@link QuickAccessWalletService} */
@RequiresApi(VERSION_CODES.R)
public class MyQuickAccessWalletService extends QuickAccessWalletService {
private static final String TAG = "QAWalletSvc";
private ExecutorService executor;
private PaymentCardManager paymentCardManager;
@Override
public void onCreate() {
super.onCreate();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
Log.w(TAG, "Should not run on pre-R devices");
stopSelf();
return;
}
executor = Executors.newSingleThreadExecutor();
paymentCardManager = new PaymentCardManager();
}
@Override
public void onDestroy() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
return;
}
executor.shutdownNow();
}
@Override
public void onWalletCardsRequested(
@NonNull GetWalletCardsRequest request, @NonNull GetWalletCardsCallback callback) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
return;
}
executor.submit(
() -> {
List<PaymentCard> paymentCards = paymentCardManager.getCards();
int maxCards = Math.min(paymentCards.size(), request.getMaxCards());
List<WalletCard> walletCards = new ArrayList<>(maxCards);
int selectedIndex = 0;
int cardWidthPx = request.getCardWidthPx();
int cardHeightPx = request.getCardHeightPx();
for (int index = 0; index < maxCards; index++) {
PaymentCard paymentCard = paymentCards.get(index);
WalletCard walletCard =
new WalletCard.Builder(
paymentCard.getCardId(),
paymentCard.getCardImage(cardWidthPx, cardHeightPx),
paymentCard.getContentDescription(),
paymentCard.getPendingIntent())
.build();
walletCards.add(walletCard);
if (paymentCard.isSelected()) {
selectedIndex = index;
}
}
GetWalletCardsResponse response =
new GetWalletCardsResponse(walletCards, selectedIndex);
callback.onSuccess(response);
});
}
@Override
public void onWalletCardSelected(@NonNull SelectWalletCardRequest request) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
return;
}
executor.submit(
() -> paymentCardManager.selectCardById(request.getCardId()));
}
@Override
public void onWalletDismissed() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
return;
}
executor.submit(() -> {
paymentCardManager.removeCardOverrides();
});
}
}
QuickAccessWalletService
hakkında daha fazla bilgi için QuickAccessWalletService
API referansı bölümüne bakın.
İzinler
QuickAccessWalletService
için manifest girişi, Android 11'de kullanıma sunulan android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
iznini gerektirmelidir. Bu, Sistem Kullanıcı Arayüzü tarafından tutulan bir imza düzeyinde izindir. Yani yalnızca Sistem Kullanıcı Arayüzü işlemi QuickAccessWalletService
uygulamalarının bağlamasını yapabilir. Başka cihazdan yüklenen uygulamaların bu izni talep edebileceğini ve Android 10 veya önceki sürümleri çalıştıran cihazlarda QuickAccessWalletService
verilerine tam erişim elde edebileceğini unutmayın. Bunu önlemek için hizmetin onCreate
'teki derleme sürümünü kontrol etmesi ve hizmeti yalnızca Android 11 ve sonraki sürümleri çalıştıran cihazlarda etkinleştirmesi önerilir. Ana makine kartı emülasyon ödeme hizmetleri sağlamak için gerekli olanlar dışında başka uygulama izinleri gerekmez.
Varsayılan NFC ödeme uygulaması QuickAccessWalletService
'yi uygulamaz veya dışa aktarmazsa Hızlı Erişim Cüzdan kullanıcı arayüzü gösterilmez.
Android 12'deki ayarlar
Kullanıcılar, kilit ekranından Hızlı Erişim Cüzdanı'nı etkinleştirmek veya devre dışı bırakmak için Ayarlar > Ekran > Kilit ekranı bölümündeki Cüzdanı göster açma/kapatma düğmesini kullanabilir. Cihazda Cüzdan'ı devre dışı bırakmak için kullanıcıların hızlı ayarlar gölgesinde Cüzdan'ı manuel olarak düzenlemesi gerekir.
Şekil 5. Ayarlar'daki Kilit ekranı sayfasında Cüzdan açma/kapatma düğmesini gösterin.
Android 11'de ayarlar
Kullanıcılar, Ayarlar uygulamasından Hızlı Erişim Cüzdan özelliğini devre dışı bırakabilir. Ayarlar sayfasına Ayarlar > Sistem > Hareketler > Kartlar ve kartlar bölümünden ulaşabilirsiniz.
Özelleştirme
Sistem kullanıcı arayüzünde Hızlı Erişim Cüzdan görünümünü başka bir yere ekleme
Hızlı Erişim Cüzdan Kullanıcı Arayüzü bir sistem eklentisi olarak oluşturulmuştur.
AOSP uygulamasında bu özellik GlobalActionsDialog
(uzun güç düğmesi basılıyken gösterilir) için kullanılsa da eklenti arayüzü tarafından belirtilen sözleşmeyi koruduğunuz sürece özelliği farklı bir hareketin arkasına taşıyabilirsiniz.
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);
}
}
Hızlı Erişim Cüzdan kullanıcı arayüzü, GlobalActionsPanelPlugin
ve PanelViewController
'i uygular.
GlobalActionsDialog
, com.android.systemui.Dependency
aşağıdakileri kullanarak cüzdan eklentisinin bir örneğini alır:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Eklentinin null olmadığını ve onPanelShown
tarafından döndürülen PanelViewController
değerinin null olmadığını kontrol ettikten sonra iletişim kutusu, getPanelContent
tarafından sağlanan View
öğesini kendi View
öğesine ekler ve sistem etkinlikleri için uygun geri çağırma işlevleri sağlar.
// 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();
Hızlı Erişim Cüzdanı'nı güç menüsünden kaldırmak için QuickAccessWallet
hedefini sistem derlemesinden çıkarın. Hızlı Erişim Cüzdan'ı güç menüsünden kaldırmak ancak sistem kullanıcı arayüzü tarafından sağlanan farklı bir görünüme eklemek için derleme hedefini ekleyin ve GlobalActionsImpl
üzerinden GlobalActionsPanelPlugin
referanslarını kaldırın.
Varsayılan yapılandırmaları ayarlama
Android 12
Android 12 veya sonraki sürümlerde Hızlı Erişim Cüzdanı, hızlı ayarlar gölgesinde her zaman görünür. Hızlı Erişim Cüzdan'ın kilit ekranında görünürlüğü şu güvenli ayar ile korunur:
LOCKSCREEN_SHOW_WALLET
. Bu ayar, kilit ekranının sağ alt kısmında Hızlı Erişim Cüzdan simgesi gösterilip gösterilmeyeceğini kontrol eder. Bu ayar varsayılan olarak true
olarak ayarlanmıştır ancak kullanıcı tarafından Ayarlar > Ekran > Kilit ekranı > Cüzdan'ı göster bölümünden kapatılabilir.
Android 11
Android 11'de Hızlı Erişim Cüzdan'ın görünürlüğü iki güvenli ayar tarafından kontrol edilir: GLOBAL_ACTIONS_PANEL_ENABLED
ve GLOBAL_ACTIONS_PANEL_AVAILABLE
. AVAILABLE
ayarı, özelliğin Ayarlar'da etkinleştirilip devre dışı bırakılıp bırakılamayacağını kontrol eder. Bu ayar, WalletPluginService
tarafından true
olarak ayarlanır.
QuickAccessWallet
derlemeye dahil edilmezse ayar false
olarak kalır. ENABLED
ayarı, aynı yerde varsayılan olarak true
değerine ayarlıdır ancak kullanıcı tarafından Ayarlar'dan devre dışı bırakılabilir. Varsayılan davranışı değiştirmek için WalletPluginService#enableFeatureInSettings
değerini değiştirin.
Doğrulama
Hızlı Erişim Cüzdanı'nı uygulamanızı doğrulamak için CTS ve manuel testler çalıştırın. Eklentide yapılan değişiklikler, dahil edilen robolektrik testleri de uygulamalıdır.
CTS testleri
cts/tests/quickaccesswallet
adresindeki CTS testlerini çalıştırın.
Android 12 için manuel testler
Hızlı Erişim Cüzdanı'nın temel özelliklerini test etmek için bir NFC ödeme terminali (gerçek veya sahte) ve QuickAccessWalletService
'ü uygulayan bir NFC ödeme uygulaması (cüzdan uygulaması) gerekir. Test edilmesi gereken temel özellikler arasında kullanılabilirlik, sıfır durumu, kart seçimi ve kilit ekranı davranışı bulunur.
Kullanılabilirlik
- Varsayılan NFC ödeme uygulaması bu özelliği desteklemiyorsa Hızlı Erişim Cüzdanı'na hızlı ayarlardan veya kilit ekranından erişilemez.
- Varsayılan NFC ödeme uygulaması bu özelliği destekliyorsa Hızlı Erişim Cüzdan'a hızlı ayarlar gölgesinden erişilebilir.
- Varsayılan NFC ödeme uygulaması bu özelliği destekliyorsa ve
LOCKSCREEN_SHOW_WALLET
ayarıtrue
ise Cüzdan'a Hızlı Erişim'e kilit ekranından erişilebilir. - Varsayılan NFC ödeme uygulaması özelliği destekliyorsa ve
LOCKSCREEN_SHOW_WALLET
ayarıfalse
ise kilit ekranında Hızlı Erişim Cüzdanı'na erişilemez.
Sıfır durumu
QuickAccessWalletService
etkinleştirilir ve dışa aktarılır ancak herhangi bir kart sağlanmazsa Gölgedeki kart, Şekil 7'deki örnekte gösterildiği gibi görünür. Kutuya tıkladığınızda varsayılan NFC ödeme uygulaması açılır.Şekil 7. Varsayılan NFC ödeme uygulamasını gösteren örnek kutucuk.
Şekil 8'de gösterilen boş durum görünümü tıklandığında varsayılan NFC ödeme uygulaması açılır. Bu boş durum görünümü yalnızca kullanıcının cüzdanda bir kartı kalmışsa, kartı kart ayrıntıları sayfasından kaldırdıktan sonra cüzdan görünümüne geri döndüğünde gösterilir.
Kilit ekranında cüzdan simgesi gösterilir.
Şekil 8. Hızlı erişim Cüzdan kullanıcı arayüzünde boş durum görünümü.
Sıfır olmayan durum
Cüzdan uygulaması bir veya daha fazla kart sağlıyorsa gölgeli karo Şekil 9'da gösterildiği gibi görünür.
Şekil 9. Cüzdan uygulamasında bir veya daha fazla kart olduğunda koyu renkli örnek kart.
Karoyu tıkladığınızda kart rulosu gösterilir.
Kilit ekranında, Hızlı Erişim Cüzdanı'nı açan bir düğme gösterilir.
Şekil 10. Kartın gösterildiği Hızlı Erişim Cüzdan kullanıcı arayüzü.
Gösterilen kart bir NFC ödeme yöntemini temsil ediyorsa telefonu NFC ödeme terminaline yaklaştırmak, söz konusu ödeme yönteminin kullanılmasını sağlar ve cüzdan görünümü kapatılır.
Gösterilen bir kartı tıkladığınızda söz konusu kartın ayrıntılı etkinliği açılır.
QuickAccessWalletService
tarafından birden fazla kart sağlanırsa kullanıcı kartlar arasında kaydırabilir.Taşma menüsünde bir giriş vardır: Kullanıcının Cüzdanı göster seçeneğini değiştirebilmesi için kilit ekranı ayarlarını açın.
Kilit durumu testleri
- Telefon kilitliyse cüzdan, hızlı ayarlar gölgesinde görünür. Varsayılan ödeme uygulamasında kart yoksa Kart ekle, varsayılan ödeme uygulamasında kart varsa Kullanmak için kilidi aç açıklaması gösterilir.
- Telefon kilitliyse kilit ekranındaki cüzdan görünürlüğü, Ayarlar'da kontrol edilen
Secure.LOCKSCREEN_SHOW_WALLET
ayarı tarafından kontrol edilir. - Telefon kilitliyse,
LOCKSCREEN_SHOW_WALLET
false
ise ve varsayılan NFC ödeme uygulamasında kart yoksa kilit ekranında cüzdan gösterilmez. - Telefon kilitliyse,
LOCKSCREEN_SHOW_WALLET
true
ise ve varsayılan NFC ödeme uygulamasında kart yoksa kilit ekranında cüzdan gösterilmez. - Telefon kilitliyse,
LOCKSCREEN_SHOW_WALLET
true
ise ve varsayılan NFC ödeme uygulamasında kart varsa kilit ekranında cüzdan gösterilir. - Kilit ekranında cüzdan gösterilirken telefonun kilidinin açılması, kartların yeniden istenmesine neden olur. Bu da farklı kart içerikleriyle sonuçlanabilir.
Erişilebilirlik testleri
- TalkBack kullanıcıları, sola ve sağa kaydırarak ve kartların içerik açıklamalarını dinleyerek cüzdan görünümünde gezinebilir.
- Talkback etkinken sola ve sağa kaydırarak kartları sırayla seçebilirsiniz. Talkback kullanıcıları, NFC ödeme terminalinde NFC ödeme yöntemi seçip kullanabilir.
Android 11 için manuel testler
Hızlı Erişim Cüzdanı'nın temel özelliklerini test etmek için bir NFC ödeme terminali (gerçek veya sahte) ve QuickAccessWalletService
'ü uygulayan bir NFC ödeme uygulaması (cüzdan uygulaması) gerekir. Test edilmesi gereken temel özellikler arasında kullanılabilirlik, sıfır durum, kart seçimi ve kilit ekranı davranışı yer alır.
Kullanılabilirlik
GLOBAL_ACTIONS_PANEL_ENABLED
ayarıtrue
ise ve varsayılan NFC ödeme uygulaması özelliği destekliyorsa Hızlı Erişim Cüzdan'a erişilebilir.GLOBAL_ACTIONS_PANEL_ENABLED
ayarıfalse
ise ve varsayılan NFC ödeme uygulaması özelliği destekliyorsa Hızlı Erişim Cüzdanı'na erişim sağlanamaz.GLOBAL_ACTIONS_PANEL_ENABLED
ayarıtrue
ise ve varsayılan NFC ödeme uygulaması bu özelliği desteklemiyorsa Hızlı Erişim Cüzdan'a erişilemez.GLOBAL_ACTIONS_PANEL_ENABLED
ayarıfalse
ise ve varsayılan NFC ödeme uygulaması bu özelliği desteklemiyorsa Hızlı Erişim Cüzdanı'na erişim sağlanamaz.
Sıfır durumu
QuickAccessWalletService
etkinleştirilirse ve dışa aktarılırsa ancak herhangi bir kart sağlamıyorsa Hızlı Erişim Cüzdan kullanıcı arayüzünde boş durum görünümü görüntülenir.Boş durum görünümünü tıkladığınızda Cüzdan uygulaması açılır.
Sıfır olmayan durum
Cüzdan uygulaması bir veya daha fazla kart sağlıyorsa kartlar Hızlı Erişim Cüzdan kullanıcı arayüzünde gösterilir.
Gösterilen kart bir NFC ödeme yöntemini temsil ediyorsa telefonu NFC ödeme terminaline yaklaştırmak, söz konusu ödeme yönteminin kullanılmasını sağlar ve cüzdan görünümü kapatılır.
Gösterilen bir kartı tıkladığınızda cüzdan görünümü kapatılır ve ilgili kartın ayrıntılı etkinliği açılır.
QuickAccessWalletService
tarafından birden fazla kart sağlanırsa kullanıcı kartlar arasında kaydırabilir.Aşırı dolgu menüsünde iki giriş bulunur: Cüzdan uygulamasını açan ve Ayarlar'daki Kartları ve kartları göster ekranını açan girişler.
Kilitleme durumu testleri
- Telefon kilitliyse cüzdan görünürlüğü, Ayarlar'da kontrol edilebilen
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
ayarıyla kontrol edilir. - Telefon kilitliyse ve
POWER_MENU_LOCK_SHOW_CONTENT
false
ise cüzdan gösterilmez. - Telefon kilitliyse ve
POWER_MENU_LOCK_SHOW_CONTENT
true
ise cüzdan gösterilir. - Kilit ekranında cüzdan gösterilirken telefonun kilidinin açılması, kartların yeniden sorgulanması sonucu farklı kart içerikleriyle karşılaşılmasına neden olabilir.
Erişilebilirlik testleri
- TalkBack kullanıcıları sola ve sağa kaydırarak ve kartların içerik açıklamalarını dinleyerek cüzdan görünümünde gezinebilirler.
- TalkBack açıkken sola ve sağa kaydırarak kartları sırayla seçebilirsiniz. TalkBack kullanıcıları, NFC ödeme terminalinde NFC ödeme yöntemi seçip kullanabilir.