完全なリストは知りません。ただし、私たちのレポートOpen Mobile API: Accessing the UICC on Android Devicesにはそれほど包括的なものではなく、 SEEK-for-Android Wikiには別のもの (現在はメンテナンスされていません) があります。
関心のある各デバイスにアクセスできる場合は、もちろん、スマートカード システム サービスがそれらで利用可能かどうかを確認できます。
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
}
または、AndroidManifest.xml に次の uses-library エントリを追加して、Open Mobile API ライブラリを要求することを宣言するアプリを作成することもできます。
<uses-library android:name="org.simalliance.openmobileapi" android:required="true" />
そのアプリをデバイスにインストールできる場合、これはデバイスに Open Mobile API ライブラリが含まれていることを示します。
これは、サポートされているデバイスのより包括的なリストを取得する方法でもあります。そのようなアプリを作成して、Google Play で公開することができます。Google Play は、required 属性が( )<uses-library />
に設定されているエントリに基づいてフィルタリングします。およびGoogle Play のフィルターも参照してください。つまり、このようなアプリを Google Play にアップロードすると、Open Mobile API ライブラリが利用可能なすべてのデバイスと基本的に一致する、サポートされているデバイスのリストを取得できるはずです。true
android:required="true"
<uses-library>