Функция быстрого доступа к кошельку, доступная в Android 11, позволяет пользователю получать доступ к платежным картам и соответствующим картам и билетам прямо из меню кнопки питания. Основные варианты использования: выбор способа оплаты перед совершением транзакции на NFC-терминале и быстрый доступ к билетам на самолет и другим пропускам на предстоящие мероприятия.
В Android 12 и более поздних версий Кошелек можно открыть из шторки уведомлений, как показано на рисунках 1 и 2.
|
|
В Android 11 эта функция доступна в меню кнопки питания, как показано на рисунке 3.
Требования
Чтобы использовать быстрый доступ к Кошельку, на устройстве должна быть поддержка NFC. Функция привязывается к QuickAccessWalletService платежного приложения NFC по умолчанию, а значит, устройство должно поддерживать эмуляцию банковских карт на хосте (HCE).
Общая информация
Кошелек для быстрого доступа состоит из двух частей: интерфейса и поставщика карт.
В Android 12 и более поздних версиях интерфейс Кошелька запускается в интерфейсе системы и находится в frameworks/base/packages/SystemUI/src/com/android/systemui/wallet. В Android 11 интерфейс Кошелька, расположенный в platform/packages/apps/QuickAccessWallet, должен быть установлен и добавлен в белый список.
Поставщик карт для быстрого доступа к Кошельку – это приложение для бесконтактной оплаты через NFC, которое используется по умолчанию. Пользователи могут установить несколько платежных приложений с поддержкой NFC, но только приложение по умолчанию может показывать карты в меню кнопки питания. Вы можете указать, какое приложение для NFC-платежей будет использоваться по умолчанию, но пользователи смогут выбрать другое приложение в настройках. Если установлено только одно платежное приложение NFC, оно автоматически становится приложением по умолчанию (см. CardEmulationManager).
Реализация
Чтобы карты отображались в интерфейсе быстрого доступа к Кошельку, приложения для оплаты через NFC должны реализовать QuickAccessWalletService.
В платежных приложениях должна быть запись в манифесте, рекламирующая сервис.
Чтобы к QuickAccessWalletService мог подключаться только интерфейс системы, приложение для NFC-платежей должно запрашивать разрешение android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE. Это разрешение гарантирует, что только системный интерфейс может подключаться к 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>
Дополнительная информация о кошельке содержится в связанном XML-файле:
<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"/>
Затем платежное приложение должно реализовать 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
}
}
Если приложение HostApduService начинает обрабатывать транзакцию NFC и в результате запускает действие, чтобы показать ход и результат платежа, оно также должно попытаться получить ссылку на связанное приложение QuickAccessWalletService и вызвать функцию QuickAccessWalletService#sendEvent с типом события TYPE_NFC_PAYMENT_STARTED. В результате интерфейс быстрого доступа к Кошельку закрывается, и пользователь может видеть информацию о платеже.
Дополнительную информацию о реализации QuickAccessWalletService можно найти в документации по QuickAccessWalletService и тесте CTS TestQuickAccessWalletService.
Как включить быстрый доступ к Кошельку в Android 11
Чтобы настроить быстрый доступ к Кошельку из меню кнопки питания в Android 11, добавьте в сборку цель QuickAccessWallet и включите плагин globalactions.wallet, добавив в файл 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>
Укажите платежное приложение NFC по умолчанию в файле конфигурации настроек, используя def_nfc_payment_component.
Платежное приложение по умолчанию для оплаты через NFC должно предоставлять QuickAccessWalletService, чтобы карты были доступны в Кошельке для быстрого доступа. Если приложение для бесконтактной оплаты по умолчанию не экспортирует этот сервис, интерфейс Кошелька будет скрыт.
Сведения о реализации QuickAccessWalletService
QuickAccessWalletService имеет три абстрактных метода, которые необходимо реализовать: onWalletCardsRequested, onWalletCardSelected и onWalletDismissed. На схеме ниже показана последовательность вызовов, когда Кошелек быстрого доступа открывается непосредственно перед оплатой через NFC.
Не каждый просмотр Кошелька с быстрым доступом приводит к оплате через NFC, но на рисунке 4 выше показаны все возможности QuickAccessWalletService. В этом примере поставщик карт быстрого доступа к Кошельку реализует элементы, выделенные синим цветом. Предполагается, что платежные карты хранятся на устройстве в базе данных и доступ к ним осуществляется через интерфейс PaymentCardManager. Предполагается, что действие PaymentActivity показывает результат оплаты через NFC. Процесс выглядит следующим образом:
- Пользователь выполняет жест, чтобы открыть Кошелек с быстрым доступом.
Интерфейс быстрого доступа к кошельку (часть интерфейса системы) проверяет менеджер пакетов, чтобы узнать, экспортирует ли платежное приложение по умолчанию для оплаты через NFC
QuickAccessWalletService.- Если сервис не экспортирован, Кошелек для быстрого доступа не показывается.
Интерфейс быстрого доступа к Кошельку привязан к кнопке
QuickAccessWalletServiceи вызывает функциюonWalletCardsRequested. Этот метод принимает объект запроса, содержащий данные о количестве и размере карт, которые можно предоставить, и обратный вызов. Обратный вызов может быть вызван из фонового потока.QuickAccessWalletServiceвычисляет карточки, которые нужно показать, а затем вызывает методonSuccessдля предоставленного обратного вызова. Рекомендуется, чтобы сервис выполнял эти действия в фоновом потоке.Как только карточки будут показаны, системный интерфейс уведомит
QuickAccessWalletServiceо том, что первая карточка выбрана, вызвавonWalletCardSelected.- Метод
onWalletCardSelectedвызывается каждый раз, когда пользователь выбирает новую карточку. onWalletCardSelectedможет быть вызван, даже если выбранная карта не изменилась.
- Метод
Когда пользователь закрывает Кошелек, системный интерфейс уведомляет
QuickAccessWalletService, вызываяonWalletDismissed.
В приведенном выше примере пользователь подносит телефон к терминалу оплаты через NFC, когда на экране открыт Кошелек. Ключевой компонент обработки платежей через NFC – HostApduService. Его необходимо реализовать для обработки APDU, предоставляемых считывателем NFC. Подробнее об эмуляции хост-карты…
Предполагается, что платежное приложение запускает активность, чтобы показать прогресс и результат взаимодействия с терминалом NFC. Однако интерфейс быстрого доступа к Кошельку отображается поверх окна приложения, поэтому платежные действия скрыты за ним. Чтобы исправить это, приложение должно уведомить системный интерфейс о том, что интерфейс быстрого доступа к Кошельку следует закрыть. Для этого нужно получить ссылку на привязанный объект QuickAccessWalletService и вызвать метод sendWalletServiceEvent с типом события TYPE_NFC_PAYMENT_STARTED.
Пример реализации 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();
});
}
}
Подробнее
о QuickAccessWalletServiceQuickAccessWalletService API…
Разрешения
В записи манифеста для QuickAccessWalletService должно быть указано разрешение android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE, которое появилось в Android 11. Это разрешение уровня подписи, которое есть у интерфейса системы. Это значит, что только процесс интерфейса системы может связываться с реализациями QuickAccessWalletService. Обратите внимание, что приложения, установленные из сторонних источников, могут запрашивать это разрешение и получать полный доступ к данным QuickAccessWalletService на устройствах с Android 10 или более ранней версией. Чтобы этого не произошло, рекомендуем проверять версию сборки в onCreate и включать сервис только на устройствах с Android 11 и более поздними версиями. Приложению не требуются никакие разрешения, кроме тех, которые необходимы для предоставления платежных услуг с использованием технологии Host Card Emulation.
Если платежное приложение по умолчанию не реализует или не экспортирует QuickAccessWalletService, интерфейс быстрого доступа к Кошельку не отображается.
Настройки в Android 12
Чтобы включить или отключить быстрый доступ к Кошельку с заблокированного экрана, пользователи могут использовать переключатель Показывать Кошелек в разделе Настройки > Экран > Заблокированный экран. Чтобы отключить кошелек на панели, пользователям нужно вручную изменить настройки панели быстрых настроек.
Рисунок 5. Переключатель "Показывать кошелек" на странице "Заблокированный экран" в настройках.
Настройки в Android 11
Пользователи могут отключить быстрый доступ к Кошельку в приложении "Настройки". Чтобы найти нужную страницу, выберите Настройки > Система > Жесты > Карты и билеты.
Настройка канала
Добавление быстрого доступа к Кошельку в другое место системного интерфейса
Интерфейс быстрого доступа к Кошельку создан как системный плагин.
В AOSP эта функция вызывается через GlobalActionsDialog (долгое нажатие кнопки питания), но вы можете назначить для нее другой жест, если он соответствует требованиям интерфейса плагина.
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);
}
}
В интерфейсе быстрого доступа к Кошельку реализованы методы GlobalActionsPanelPlugin и PanelViewController.
GlobalActionsDialog получает экземпляр плагина кошелька с помощью com.android.systemui.Dependency:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
После проверки того, что плагин не равен null и что PanelViewController, возвращенный onPanelShown, не равен null, диалоговое окно прикрепляет View, предоставленный getPanelContent, к своему собственному View и предоставляет соответствующие обратные вызовы для системных событий.
// 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();
Чтобы удалить Кошелек из меню кнопки питания, исключите цель QuickAccessWallet из сборки системы. Чтобы удалить быстрый доступ к Кошельку из меню кнопки питания, но добавить его в другой системный интерфейс, укажите целевую сборку и удалите ссылки на GlobalActionsPanelPlugin из GlobalActionsImpl.
Как задать конфигурации по умолчанию
Android 12
В Android 12 и более поздних версиях Кошелек для быстрого доступа всегда виден на панели быстрых настроек. Видимость Кошелька в режиме быстрого доступа на заблокированном экране определяется следующим параметром безопасности: LOCKSCREEN_SHOW_WALLET. Этот параметр определяет, будет ли значок быстрого доступа к Кошельку показываться в правом нижнем углу заблокированного экрана. По умолчанию этот параметр имеет значение true, но пользователь может отключить его в разделе Настройки > Экран > Заблокированный экран > Показывать кошелек.
Android 11
В Android 11 видимость кошелька быстрого доступа зависит от двух настроек безопасности: GLOBAL_ACTIONS_PANEL_ENABLED и GLOBAL_ACTIONS_PANEL_AVAILABLE. Настройка AVAILABLE определяет, можно ли включать и отключать эту функцию в настройках. Для этого параметра задано значение true. Настройку выполнил WalletPluginService.
Если QuickAccessWallet не включен в сборку, параметр остается
false. Настройка ENABLED по умолчанию имеет значение true, но пользователь может отключить ее в настройках. Чтобы изменить режим работы по умолчанию, измените значение WalletPluginService#enableFeatureInSettings.
Проверка
Чтобы проверить реализацию быстрого доступа к Кошельку, запустите тесты CTS и ручные тесты. Изменения в плагине также должны быть проверены с помощью тестов Robolectric.
Тесты CTS
Запустите тесты CTS, расположенные в каталоге cts/tests/quickaccesswallet.
Ручное тестирование для Android 12
Для тестирования основных функций быстрого доступа к Кошельку требуется платежный терминал с поддержкой NFC (реальный или поддельный) и платежное приложение с поддержкой NFC, в котором реализован интерфейс QuickAccessWalletService (приложение Кошелька). Основные функции, которые необходимо протестировать: доступность, нулевое состояние, выбор карты и поведение на заблокированном экране.
Доступность
- Если платежное приложение по умолчанию для оплаты через NFC не поддерживает эту функцию, быстрый доступ к Кошельку будет недоступен ни на заблокированном экране, ни в быстрых настройках.
- Если приложение для бесконтактной оплаты по умолчанию поддерживает эту функцию, быстрый доступ к Кошельку можно получить в панели быстрых настроек.
- Если приложение для бесконтактных платежей по умолчанию поддерживает эту функцию и для параметра
LOCKSCREEN_SHOW_WALLETзадано значениеtrue, Кошелек с быстрым доступом будет доступен на заблокированном экране. - Если приложение для бесконтактной оплаты по умолчанию поддерживает эту функцию и параметр
LOCKSCREEN_SHOW_WALLETимеет значениеfalse, Кошелек быстрого доступа будет недоступен на заблокированном экране.
Начальное состояние
Если
QuickAccessWalletServiceвключен и экспортирован, но не предоставляет карточек, то элемент на панели уведомлений будет выглядеть так, как показано на рисунке 7. При нажатии на карточку открывается платежное приложение для оплаты через NFC, заданное по умолчанию.
Рисунок 7. Пример значка в шторке, на котором показано платежное приложение NFC по умолчанию.
Если нажать на пустой экран, как показано на рисунке 8, откроется платежное приложение NFC по умолчанию. Пустой экран показывается, только если у пользователя в кошельке осталась одна карта, он удалил ее со страницы сведений о карте и вернулся в кошелек.
На заблокированном экране виден значок Кошелька.
Рисунок 8. Пустое состояние в интерфейсе быстрого доступа к Кошельку.
Уровень громкости выше нуля
Если в приложении кошелька есть одна или несколько карт, плитка в панели уведомлений будет выглядеть так, как показано на рисунке 9.
Рисунок 9. Пример карточки в шторке, когда в приложении "Кошелек" есть одна или несколько карт.
При нажатии на плитку появляется карусель карточек.
На заблокированном экране есть кнопка, которая открывает Кошелек.
Рисунок 10. Интерфейс Кошелька для быстрого доступа с одной картой.
Если на экране показана карта, которая представляет собой способ оплаты с помощью NFC, приложите телефон к терминалу. В результате будет использован этот способ оплаты, а экран Кошелька закроется.
Нажав на карточку, вы увидите подробную информацию о действиях.
Если
QuickAccessWalletServiceпредоставляет несколько карточек, пользователь может переключаться между ними.В дополнительном меню есть только один пункт: открыть настройки заблокированного экрана, чтобы пользователь мог изменить параметр Показывать Кошелек.
Тестирование состояния блокировки
- Если телефон заблокирован, Кошелек можно увидеть в панели быстрых настроек. Если в платежном приложении, используемом по умолчанию, нет карт, будет показано описание Добавить карту, а если карты есть – Разблокировать, чтобы использовать.
- Если телефон заблокирован, видимость Кошелька на заблокированном экране определяется настройкой
Secure.LOCKSCREEN_SHOW_WALLET, которая задается в настройках. - Если телефон заблокирован, значение параметра
LOCKSCREEN_SHOW_WALLET–falseи в платежном приложении по умолчанию для NFC нет карт, кошелек не будет показываться на заблокированном экране. - Если телефон заблокирован, значение параметра
LOCKSCREEN_SHOW_WALLET–trueи в платежном приложении по умолчанию для NFC нет карт, кошелек не будет показываться на заблокированном экране. - Если телефон заблокирован,
LOCKSCREEN_SHOW_WALLETtrueи в платежном приложении по умолчанию есть карты, кошелек будет показан на заблокированном экране. - Если разблокировать телефон, когда на заблокированном экране показывается кошелек, карты будут запрошены повторно, что может привести к изменению их содержимого.
Тесты на доступность
- Пользователи Talkback могут перемещаться по экрану кошелька, проводя пальцем влево и вправо, и слушать описания карточек.
- Если включена функция TalkBack, то, проводя по экрану влево и вправо, вы будете по очереди выбирать карточки. Пользователи TalkBack могут выбрать и использовать способ оплаты через NFC на кассовом терминале.
Ручные тесты для Android 11
Для тестирования основных функций быстрого доступа к Кошельку требуется платежный терминал с поддержкой NFC (реальный или поддельный) и платежное приложение с поддержкой NFC, в котором реализован интерфейс QuickAccessWalletService (приложение Кошелька). Основные функции, которые необходимо протестировать, включают доступность, нулевое состояние, выбор карты и поведение заблокированного экрана.
Доступность
- Если для параметра
GLOBAL_ACTIONS_PANEL_ENABLEDзадано значениеtrueи приложение для бесконтактной оплаты по умолчанию поддерживает эту функцию, Кошелек с быстрым доступом будет доступен. - Если параметр
GLOBAL_ACTIONS_PANEL_ENABLEDимеет значениеfalseи приложение для бесконтактной оплаты по умолчанию поддерживает эту функцию, быстрый доступ к Кошельку невозможен. - Если параметр
GLOBAL_ACTIONS_PANEL_ENABLEDимеет значениеtrueи платежное приложение для оплаты через NFC по умолчанию не поддерживает эту функцию, быстрый доступ к Кошельку невозможен. - Если параметр
GLOBAL_ACTIONS_PANEL_ENABLEDимеет значениеfalseи платежное приложение для оплаты через NFC по умолчанию не поддерживает эту функцию, быстрый доступ к Кошельку невозможен.
Начальное состояние
- Если правило
QuickAccessWalletServiceвключено и экспортировано, но не предоставляет никаких карт, в интерфейсе быстрого доступа к Кошельку отображается пустой экран. При нажатии на пустой экран открывается приложение "Кошелек".
Рисунок 11. Пустое состояние в интерфейсе быстрого доступа к Кошельку.
Уровень громкости выше нуля
Если в приложении кошелька есть одна или несколько карт, они будут показаны в интерфейсе быстрого доступа к кошельку.
Рисунок 12. Интерфейс быстрого доступа к Кошельку с отображаемой картой. Если на экране показана карта, которая поддерживает оплату через NFC, то при поднесении телефона к кассовому терминалу NFC будет использован этот способ оплаты, а Кошелек закроется.
Если нажать на карту, откроется подробная информация о ней.
Если
QuickAccessWalletServiceпредоставляет несколько карт, пользователь может переключаться между ними.В дополнительном меню есть два пункта: один открывает приложение Кошелька, а другой – экран Показать карты и билеты в настройках.
Тестирование состояния блокировки
- Если телефон заблокирован, видимость Кошелька определяется настройкой
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT, которую можно изменить в настройках. - Если телефон заблокирован и для параметра
POWER_MENU_LOCK_SHOW_CONTENTзадано значениеfalse, кошелек не показывается. - Если телефон заблокирован и
POWER_MENU_LOCK_SHOW_CONTENTtrue, показывается кошелек. - Если разблокировать телефон, когда на заблокированном экране показывается кошелек, карты будут запрошены повторно, что может привести к изменению их содержимого.
Тесты на доступность
- Пользователи TalkBack могут перемещаться по экрану кошелька, проводя пальцем влево и вправо, и слушать описания карточек.
- Если включена функция TalkBack, то при пролистывании влево и вправо выбирается каждая карточка по очереди. Пользователи TalkBack могут выбирать и использовать способ оплаты через NFC на кассовом терминале NFC.