Hızlı Erişim Cüzdanı

Android 11'de bulunan Hızlı Erişim Cüzdanı özelliği, kullanıcının ödeme kartlarına ve ilgili geçiş kartlarına doğrudan güç menüsünden erişmesine olanak tanır. Başlıca kullanım örnekleri, bir NFC terminalinde bir işlem gerçekleştirmeden önce uygun ödeme yöntemini seçmeyi ve yaklaşan etkinlikler için uçuşlara ve diğer geçişlere hızla erişmeyi içerir.

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.

Gölgede Hızlı Erişim Cüzdan özelliği
Şekil 1. Hızlı Erişim Cüzdan özelliği (cihaz kilitli).
Gölgede Hızlı Erişim Cüzdan özelliği
Şekil 2. Hızlı Erişim Cüzdan özelliği (kilidi cihaz).

Android 11'de özellik, Şekil 3'te gösterildiği gibi güç menüsünden kullanılabilir.

Güç menüsünde Hızlı Erişim Cüzdanı özelliği
Güç menüsünde Şekil 3. Hızlı Erişim Cüzdan özelliği.

Gereksinimler

Hızlı Erişim Cüzdanı özelliğini kullanmak için cihazınızda NFC olmalıdır. İçin özellik bağlar QuickAccessWalletService cihaz aynı zamanda NFC desteklemesi gerektiğini araçlarının varsayılan NFC ödeme uygulamasında, bir ana bilgisayar tabanlı kart emülasyonu (İTE) .

Özelliğe genel bakış

Hızlı Erişim Cüzdanını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 daha yüksek olarak, Cüzdan arayüzü Sistem arayüzünde çalışır ve bulunur frameworks/base/packages/SystemUI/src/com/android/systemui/wallet . Android 11, bulunan Cüzdan UI, In platform/packages/apps/QuickAccessWallet , yüklenmiş 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 birden fazla NFC ödeme uygulamalarının aynı anda yüklü olabilir, ancak yalnızca varsayılan NFC ödeme uygulaması güç menüsünde kartlar gösterebilir. Başlangıçta varsayılan olarak ayarlanmış olan NFC ödeme uygulaması belirtebilirsiniz, ancak kullanıcılar Ayarlar farklı bir uygulama seçebilirsiniz. Sadece bir NFC ödeme uygulaması yüklü ise, otomatik olarak varsayılan (bkz olur CardEmulationManager ).

uygulama

Hızlı Erişim Cüzdan arayüzüne kartlar sunmak için NFC ödeme uygulamalarının uygulamalıdır QuickAccessWalletService . Ödeme uygulamaları, hizmetin reklamını yapan bir bildirim girişi içermelidir.

Sadece Sistem Arayüzü bağlanan emin olmak için QuickAccessWalletService NFC ödeme uygulaması alması gerekiyor android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE izni. Sadece Sistem Arayüzü bağlanabilen bu izin sağlar Gerektiren 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>

Cüzdan hakkında ek bilgiler, bağlantılı XML dosyasında bulunur:

<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"/>

Daha sonra, ödeme uygulaması uygulamalıdır 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
    }
}

Eğer HostApduService bir sonucu olarak, bir NFC işleminin gerçekleştirilebileceği ve başlar, ödeme ilerleme ve sonucunu görüntülemek için bir etkinlik başladığında, aynı zamanda bağlı bir başvuru almaya çalışmalısınız QuickAccessWalletService ve çağrı QuickAccessWalletService#sendEvent bir olay türüyle TYPE_NFC_PAYMENT_STARTED . Bu, 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 engelsiz bir şekilde görmesine olanak tanır.

Uygulamayla ilgili ek belgeler için QuickAccessWalletService , bkz QuickAccessWalletService ve TestQuickAccessWalletService CTS testi.

Android 11'de Hızlı Erişim Cüzdan Arayüzünü Etkinleştirme

Android 11'de güç menüsünden kullanılabilir olmasını Hızlı Erişim Cüzdan yapılandırmak için içerir QuickAccessWallet yapı içinde hedef ve etkinleştirmek globalactions.wallet için aşağıdaki kod örneğinde kalın satır ekleyerek eklentisi overlay/frameworks/base/packages/SystemUI/res/values/config.xml dosyası.

<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>

Varsayılan NFC Ödeme uygulamasını belirtin ayarları yapılandırma dosyası kullanarak def_nfc_payment_component .

Varsayılan NFC ödeme uygulaması ortaya koymalıdır QuickAccessWalletService Hızlı Erişim Cüzdan'a kart sağlamaktır. Varsayılan NFC ödeme uygulaması bu hizmeti dışa aktarmazsa, cüzdan kullanıcı arayüzü gizlenir.

QuickAccessWalletService uygulama ayrıntıları

QuickAccessWalletService : uygulanmalıdır üç soyut yöntemleri vardır onWalletCardsRequested , onWalletCardSelected ve onWalletDismissed . Aşağıdaki sıra şeması, Hızlı Erişim Cüzdanı bir NFC ödemesinden hemen önce görüntülendiğinde bir arama sırasını gösterir.

Hızlı Erişim Cüzdanı sıra şeması

Hızlı Erişim Cüzdanı görüntülendiğinde örnek arama sırası
Hızlı Erişim Cüzdan bakıldı Şekil 4. Örnek çağrı dizisi.

Hızlı Erişim Wallet tüm görünümler NFC ödeme izledi ancak Şekil 4 yukarıdaki tüm yetenekleri göstermektedir edilir değil QuickAccessWalletService . Bu örnekte, Hızlı Erişim Cüzdanı kartı sağlayıcısı, mavi ile belirtilen öğeleri uygular. Ödeme kartları bir veritabanında cihazda depolanan ve adlandırılmış bir arayüz üzerinden erişilen farz oluyor PaymentCardManager . Ayrıca bir etkinlik olarak adlandırılan farz oluyor PaymentActivity NFC ödeme sonucu görüntüler. Akış şu şekilde ilerler:

  1. Kullanıcı, Hızlı Erişim Cüzdanını getirmek için bir hareket gerçekleştirir.
  2. Varsayılan NFC ödeme uygulaması ihraç eğer Hızlı Erişim Cüzdan arayüzü (Sistem UI parçası) denetler paket yöneticisi görmeye QuickAccessWalletService .

    • Hizmet dışa aktarılmazsa Hızlı Erişim Cüzdanı görüntülenmez.
  3. Hızlı Erişim Cüzdan arayüzü bağlar QuickAccessWalletService ve çağrılar onWalletCardsRequested . Bu yöntem, sağlanabilecek kartların sayısı ve boyutu hakkında veri içeren bir istek nesnesi ve bir geri arama alır. Geri arama, bir arka plan iş parçacığından çağrılabilir.

  4. QuickAccessWalletService aranmamanızı, bu göstermek istiyor kartları hesaplar onSuccess sağlanan geri arama yöntemi. Hizmetin bu eylemleri bir arka plan iş parçacığında gerçekleştirmesi önerilir.

  5. En kısa sürede kartlar görüntülenir olarak, bildirdiğinde Sistem Arayüzü QuickAccessWalletService ilk kart arayarak seçildiğini onWalletCardSelected .

    • onWalletCardSelected kullanıcı yeni bir kart seçer her zaman denir.
    • onWalletCardSelected Seçili kart değişmedi bile denebilir.
  6. Kullanıcı Hızlı Erişim Cüzdan, Sistem UI bildirdiğinde görevden zaman QuickAccessWalletService arayarak onWalletDismissed .

Yukarıdaki örnekte, kullanıcı cüzdan görüntülenirken telefonu bir NFC ödeme terminalinin kapsama alanına getirir. NFC ödeme işleme önemli bir bileşeni olan HostApduService NFC okuyucu (Daha fazla bilgi için, bakınız tarafından sunulan işlem APDUs için uygulanması gereken, Ana bilgisayar tabanlı kart emülasyonu ). Ödeme uygulamasının, NFC terminaliyle etkileşimin ilerlemesini 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ünde görüntülenir; bu, ödeme etkinliğinin Hızlı Erişim Cüzdanı Kullanıcı Arayüzü tarafından gizlendiği anlamına gelir. Bunu düzeltmek için uygulama, Sistem Kullanıcı Arayüzüne Hızlı Erişim Cüzdan Kullanıcı Arayüzü'nün kapatılması gerektiğini bildirmelidir. Bu sınır bir başvuru alarak bunu yapabilirsiniz QuickAccessWalletService ve arama sendWalletServiceEvent olay türüyle TYPE_NFC_PAYMENT_STARTED .

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();
    });
  }
}

Hakkında daha fazla ayrıntı için QuickAccessWalletService , bkz QuickAccessWalletService API başvurusu .

izinler

İçin apaçık giriş QuickAccessWalletService alması gerekiyor android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE Android 11. This tanıtılan izni yalnızca Sistem Arayüzü süreci uygulamalarına bağlanabilen araç Sistem UI, elinde bir imza düzey bir izindir QuickAccessWalletService . Yan yüklü uygulamalar bu izni talep ve tam erişim elde edebilir unutmayın QuickAccessWalletService Android 10 veya daha düşük çalıştıran cihazlarda veri. Bunu önlemek için, hizmet içinde inşa sürümünü kontrol önerilir onCreate ve sadece Android 11 ve üstünü çalıştıran cihazlarda hizmetini etkinleştirmek. Ana kart öykünmesi ödeme hizmetleri sağlamak için gerekli olanların ötesinde başka hiçbir uygulama izni gerekli değildir.

Varsayılan NFC ödeme uygulaması hayata veya dışa vermezse QuickAccessWalletService , Hızlı Erişim Cüzdan arayüzü görüntülenmez.

Android 12'deki ayarlar

Etkinleştirmek veya kilit ekranından Hızlı Erişim Cüzdan devre dışı bırakmak için, kullanıcılar Ayarlar> Ekran> Kilit ekranında göster cüzdan durumlu düğmeyi kullanabilirsiniz. Cüzdanı gölgede devre dışı bırakmak için, kullanıcıların hızlı ayarlar gölgesinde manuel olarak düzenlemesi gerekir.

Kilit ekranından cüzdanı etkinleştirmek veya devre dışı bırakmak için geçiş yapın

Ayarlar bölümünde Kilit ekranı sayfasında Şekil 5. göster cüzdan geçiş.

Android 11'deki ayarlar

Kullanıcılar, Hızlı Erişim Cüzdanı özelliğini Ayarlar uygulamasından kapatabilir. Ayarlar sayfası Ayarlar> Sistem> Hareketleri> Kartlar & geçiş bulunur.

Hızlı Erişim Cüzdanı özelliğini etkinleştirmek veya devre dışı bırakmak için ayarlar sayfası
Şekil 6. Ayarlar sayfasında etkinleştirmek veya Hızlı Erişim Cüzdan özelliği devre dışı bırakmak.

özelleştirme

Sistem Kullanıcı Arayüzündeki başka bir konuma Hızlı Erişim Cüzdanı görünümü ekleme

Hızlı Erişim Cüzdan arayüzü bir şekilde inşa edilmiştir sistem eklentisi . AOSP uygulama markaları içinde bunun kullanmalarına rağmen GlobalActionsDialog (uzun güç basına gösterilen), uzun Eklentinin arayüzü tarafından belirlenen sözleşme korumak gibi farklı bir jest arkasında özelliği taşıyabilir.

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 arayüzü uygular GlobalActionsPanelPlugin ve PanelViewController . GlobalActionsDialog kullanarak cüzdan eklentisi örneğini alır com.android.systemui.Dependency :

GlobalActionsPanelPlugin mPanelPlugin =
    Dependency.get(ExtensionController.class)
        .newExtension(GlobalActionsPanelPlugin.class)
        .withPlugin(GlobalActionsPanelPlugin.class)
        .build()
        .get();

Eklenti boş olmayan ve o kontrol ettikten sonra PanelViewController tarafından döndürülen onPanelShown boş olmayan, iletişim verdiği View tarafından sağlanan getPanelContent kendi için View ve sistem olayları için uygun geri aramalar 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();

Güç menüsünden Hızlı Erişim Cüzdan kaldırmak için, ihmal QuickAccessWallet sistemi kurabilmek için şu hedefi. Güç menüsünden Hızlı Erişim Cüzdan kaldırmak ancak görünümü sağlanan farklı bir sistem arayüzüne eklemek için, yapı hedef ve kaldır referanslar içeren GlobalActionsPanelPlugin gelen GlobalActionsImpl .

Varsayılan yapılandırmaları ayarlama

Android 12

Android 12 veya sonraki sürümlerde Hızlı Erişim Cüzdanı her zaman hızlı ayarlar gölgesinde görünür. Kilit ekranında Hızlı Erişim Cüzdan görünürlüğü uygulayarak güvenli ayarı tarafından işlenir: LOCKSCREEN_SHOW_WALLET . Bu ayar, kilit ekranının sağ alt kısmında Hızlı Erişim Cüzdanı simgesinin gösterilip gösterilmeyeceğini kontrol eder. Bu ayar olarak ayarlanır true değerine ayarlanır, ancak Ayarlar> Ekran> Kilit ekranından> Show cüzdanda kullanıcı tarafından kapatılabilir.

Android 11

: Android 11 yılında Hızlı Erişim Cüzdan görünürlük iki güvenli ayarları tarafından işlenir GLOBAL_ACTIONS_PANEL_ENABLED ve GLOBAL_ACTIONS_PANEL_AVAILABLE . AVAILABLE ayar denetimleri özellik Ayarlar bölümünde açılıp kapanmasına edilip edilemeyeceğini. Bu ayar olarak ayarlanır true tarafından WalletPluginService . Eğer QuickAccessWallet yapı dahil değildir, o zaman ayar kalır false . ENABLED ayarınız true aynı yerde varsayılan olarak, ancak Ayarlar kullanıcı tarafından kapatılabilir. Varsayılan davranışı değiştirmek için, değiştirmek WalletPluginService#enableFeatureInSettings .

doğrulama

Hızlı Erişim Cüzdanı uygulamanızı doğrulamak için CTS ve manuel testleri çalıştırın. Eklentinin yapılan değişiklikler de dahil uygulaması gerektiğini robolectric testleri .

CTS testleri

Bulunan CTS testleri çalıştırın cts/tests/quickaccesswallet .

Android 12 için manuel testler

NFC ödeme terminali (gerçek veya sahte) ve bir NFC ödeme uygulaması Hızlı Erişim Cüzdan temel özelliklerini gerektirir Test bunu uygulayan QuickAccessWalletService (cüzdan uygulaması). Test edilmesi gereken temel özellikler şunlardır: kullanılabilirlik, sıfır durum, kart seçimi ve kilit ekranı davranışı.

kullanılabilirlik

  • Varsayılan NFC ödeme uygulaması özelliği desteklemiyorsa, Hızlı Erişim Cüzdanına ne hızlı ayarlardan ne de kilit ekranından erişilebilir.
  • Varsayılan NFC ödeme uygulaması özelliği destekliyorsa, Hızlı Erişim Cüzdanına hızlı ayarlar gölgesinden erişilebilir.
  • Varsayılan NFC ödeme uygulaması özelliği destekleyen ve eğer varsa LOCKSCREEN_SHOW_WALLET ayarıdır true , Hızlı Erişim Cüzdan Kilit ekranında erişilebilir.
  • Varsayılan NFC ödeme uygulaması özelliği destekleyen ve eğer varsa LOCKSCREEN_SHOW_WALLET ayarıdır false , Hızlı Erişim Cüzdan Kilit ekranında erişilemez.

sıfır durumu

  • Eğer QuickAccessWalletService etkin ve ihraç ancak herhangi kartları sağlamaz edilir kiremitte Şekil 7. e tıklanması örnekte gösterildiği gibi Gölge göründüğünü karo varsayılan NFC ödeme uygulaması açılır.

    Varsayılan NFC ödeme uygulamasını gösteren gölgede örnek kutucuk

    Varsayılan NFC Ödeme uygulamasını gösteren gölgede Şekil 7. Örnek kiremit.

  • Şekil 8'de gösterildiği gibi boş durum görünümüne tıklamak, varsayılan NFC ödeme uygulamasını açar. Bu boş durum görünümü, yalnızca kullanıcının cüzdanda bir kartı kaldığında görüntülenir, kartı kart detay sayfasından çıkarır ve ardından cüzdan görünümüne geri döner.

  • Kilit ekranı cüzdan simgesini gösterir.

Hızlı Erişim Cüzdanında boş durum görünümü

Şekil Hızlı Erişim Cüzdan arayüzünde 8. Boş devlet görünümü.

sıfır olmayan durum

  • M-cüzdan uygulaması bir veya daha fazla kart sağlıyorsa, gölgedeki kutucuk Şekil 9'da gösterildiği gibi görünür.

    Cüzdan uygulamasında bir veya daha fazla kart olduğunda gölgedeki örnek kutucuk

    Gölgede Şekil 9. Örnek karo cüzdan uygulaması, bir veya daha fazla kağıt varsa.

  • Döşemeye tıklamak bir kart karuselini gösterir.

  • Kilit ekranı, Hızlı Erişim Cüzdanını açan bir düğmeyi gösterir.

    Bir kart görüntülenen Hızlı Erişim Cüzdan Kullanıcı Arayüzü

    Bir kart ile Şekil 10. Hızlı Erişim Cüzdan arayüzü sergiledi.

  • Görüntülenen kart bir NFC ödeme yöntemini temsil ediyorsa, telefonu bir NFC ödeme terminalinde tutmak, o ödeme yönteminin kullanılmasına ve cüzdan görünümünün kapatılmasına neden olur.

  • Görüntülenen bir karta tıklamak, o kart için ayrıntılı aktiviteyi açar.

  • Birden çok kart tarafından sağlanırsa QuickAccessWalletService , kullanıcı kartlar arasında tokatlamak edebilmektedir.

  • Kullanıcı göster cüzdan seçeneği değiştirmek, böylece kilit ekranı ayarlarını açmak: taşma menüsü sadece bir giriş içerir.

Kilit durumu testleri

  • Telefon kilitli ise, cüzdan hiçbir kart varsayılan ödeme uygulamasında mevcut olmadığını veya kartları varsayılan ödeme uygulamasında varsa kilidini kullanmak eğer bir kart ekleyin açıklamasıyla, hızlı ayarlar gölge görülebilir.
  • Telefon kilitli, kilit ekranında cüzdan görünürlüğü tarafından kontrol edilir Secure.LOCKSCREEN_SHOW_WALLET Ayarlar kontrol edilir ayarında.
  • Telefon kilitliyse, LOCKSCREEN_SHOW_WALLET olan false ve hiçbir kart cüzdan Kilit ekranında gösterilmez, varsayılan NFC ödeme uygulamasında bulunmaktadır.
  • Telefon kilitliyse, LOCKSCREEN_SHOW_WALLET olduğu true ve hiçbir kart cüzdan Kilit ekranında gösterilmez, varsayılan NFC ödeme uygulamasında bulunmaktadır.
  • Telefon kilitliyse, LOCKSCREEN_SHOW_WALLET olan true cüzdan Kilit ekranında görüntülenir, ve kartları varsayılan NFC ödeme uygulamasında mevcuttur.
  • Cüzdan kilit ekranında görüntülenirken telefonun kilidinin açılması, kartların talep edilmesine ve bu da farklı kart içeriğine 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 gezinebilir.
  • Talkback etkinken sola ve sağa kaydırmak sırayla her kartı seçer. Talkback kullanıcıları, bir NFC ödeme terminalinde bir NFC ödeme yöntemi seçebilir ve kullanabilir.

Android 11 için manuel testler

NFC ödeme terminali (gerçek veya sahte) ve bir NFC ödeme uygulaması Hızlı Erişim Cüzdan temel özelliklerini gerektirir Test bunu uygulayan QuickAccessWalletService (cüzdan uygulaması). Test edilmesi gereken temel özellikler arasında kullanılabilirlik, sıfır durum, kart seçimi ve kilit ekranı davranışı bulunur.

kullanılabilirlik

  • Eğer GLOBAL_ACTIONS_PANEL_ENABLED ayardır true ve varsayılan NFC ödeme uygulaması özelliği destekleyen, Hızlı Erişim Cüzdan erişilebilir.
  • Eğer GLOBAL_ACTIONS_PANEL_ENABLED ayardır false ve varsayılan NFC ödeme uygulaması özelliği destekleyen, Hızlı Erişim Cüzdan erişilemez.
  • Eğer GLOBAL_ACTIONS_PANEL_ENABLED ayardır true ve varsayılan NFC ödeme uygulaması özelliği desteklemiyor, Hızlı Erişim Cüzdan erişilemez.
  • Eğer GLOBAL_ACTIONS_PANEL_ENABLED ayardır false ve varsayılan NFC ödeme uygulaması özelliği desteklemiyor, Hızlı Erişim Cüzdan erişilemez.

sıfır durumu

  • Eğer QuickAccessWalletService etkin ve ihraç ancak herhangi kartları, Hızlı Erişim Cüzdan arayüzü görüntüler boş devlet görünümü sağlamaz edilir.
  • Boş durum görünümüne tıklamak cüzdan uygulamasını açar.

    Hızlı Erişim Cüzdanı Kullanıcı Arayüzündeki boş durum görünümü
    Şekil hızlı erişim cüzdan arayüzünde 11. Boş durum görünümüdür.

sıfır olmayan durum

  • M-cüzdan uygulaması bir veya daha fazla kart sağlıyorsa kartlar Hızlı Erişim Cüzdan Kullanıcı Arayüzü'nde görüntülenir.

    Bir kart görüntülenen Hızlı Erişim Cüzdan Kullanıcı Arayüzü
    Bir kart ile Şekil 12. Hızlı Erişim Cüzdan arayüzü sergiledi.
  • Görüntülenen kart bir NFC ödeme yöntemini temsil ediyorsa, telefonu bir NFC ödeme terminalinde tutmak, o ödeme yönteminin kullanılmasına ve cüzdan görünümünün kapatılmasına neden olur.

  • Görüntülenen bir karta tıklamak, cüzdan görünümünü kapatır ve o kart için ayrıntılı aktiviteyi açar.

  • Birden çok kart tarafından sağlanırsa QuickAccessWalletService , kullanıcı kartlar arasında tokatlamak edebilmektedir.

  • Taşma menüsü iki giriş içerir: cüzdan uygulamasını açar diğeri Kartları göster açar ve Ayarlar ekranı geçer tane.

Kilit durumu testleri

  • Telefon kilitliyse, cüzdan görünürlüğü tarafından kontrol edilir Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT Ayarlar kontrol edilebilir ayar.
  • Telefon kilitli ise ve POWER_MENU_LOCK_SHOW_CONTENT olan false , cüzdan gösterilmez.
  • Telefon kilitli ise ve POWER_MENU_LOCK_SHOW_CONTENT olduğu true , cüzdan görüntülenir.
  • Cüzdan kilit ekranında görüntülenirken telefonun kilidinin açılması, kartların yeniden sorgulanmasına neden olur ve bu da farklı kart içeriğine 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 gezinebilir.
  • TalkBack etkinken sola ve sağa kaydırmak sırayla her kartı seçer. TalkBack kullanıcıları, bir NFC ödeme terminalinde bir NFC ödeme yöntemi seçip kullanabilir.