Список устройств, поддерживаемых 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 по умолчанию, и нет необходимости в явной проверке.