Список устройств, поддерживаемых OMAPI

Я работаю с Open Mobile API, но пока не нашел список устройств, которые поддерживают API по умолчанию (по умолчанию используется OEM ROM).

Я понимаю, что начиная с уровня API 21, телефония Android поддерживает прямую отправку APDU через базовые и логические каналы через TelephonyManager. Но я также хотел бы знать об устройствах, работающих на уровне до API 21 уровня.

Итак, уже составлен список устройств со встроенной поддержкой или есть способ узнать это для себя?

2 ответа

Решение

Я не знаю ни одного полного списка. Однако в нашем отчете Open Mobile API есть не столь исчерпывающая информация : доступ к UICC на устройствах Android, а в вики SEEK-for-Android есть еще один (хотя и не поддерживается).

Если у вас есть доступ к каждому интересующему вас устройству, вы, конечно, можете проверить, доступна ли на нем системная служба смарт-карт:

final String SMARTCARD_SERVICE_PACKAGE = "org.simalliance.openmobileapi.service";
try {
    PackageInfo pi = getPackageManager().getPackageInfo(SMARTCARD_SERVICE_PACKAGE, 0);
    // smartcard service present
} catch (PackageManager.NameNotFoundException ex) {
    // smartcard service NOT present
}

Или вы можете просто создать приложение, которое объявляет, что ему требуется библиотека Open Mobile API, добавив следующую запись users-library в его AndroidManifest.xml:

<uses-library android:name="org.simalliance.openmobileapi" android:required="true" />

Если это приложение можно установить на устройстве, это означает, что устройство содержит библиотеку Open Mobile API.

Это также может быть способом получения более полного списка поддерживаемых устройств: вы можете создать такое приложение и опубликовать его в Google Play. Google Play будет фильтровать на основе<uses-library />записи, для которых установлен обязательный атрибут true(android:required="true"); смотрите также<uses-library>и фильтры в Google Play. Это означает, что после загрузки такого приложения в Google Play вы сможете получить список поддерживаемых устройств, который по существу соответствует всем устройствам, на которых имеется библиотека Open Mobile API.

Хотя отклик @Michael Roland остается в силе, стоит также отметить, что начиная с Android 9 Pie, Open Mobile API является частью Android.

Таким образом, для уровня API 28 и выше каждый телефон имеет OMAPI по умолчанию, и нет необходимости в явной проверке.

Другие вопросы по тегам