2016-07-29 61 views
1

我正在使用Open Mobile API进行开发,但到目前为止还没有找到默认支持API的设备列表(默认情况下使用的是OEM ROM)。OMAPI支持的设备列表

我意识到,自API级别21以来,Android电话支持通过TelephonyManager直接通过基本和逻辑通道发送APDU。但我想知道有关运行预API级别21的设备。

那么,有一个列表已经编译了内置支持的设备,还是有办法找出我自己的?

回答

1

我不知道任何完整列表。然而,在我们的报告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要求开放移动API库:

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

如果该应用程序可以在设备上安装,这表明设备包含开放移动API库。

这也可能是获取更全面的受支持设备列表的一种方式:您可以创建此类应用并将其发布到Google Play上。 Google Play将根据<uses-library />条目进行过滤,这些条目的必填属性设置为trueandroid:required="true");另请参阅<uses-library>Filters on Google Play。这意味着,一旦您将这样的应用上传到Google Play,您应该能够获得与所有拥有Open Mobile API库的设备基本匹配的suuported设备列表。

+0

非常感谢,您的报告是我遇到的第一个来源之一,并得到了很大的帮助。我决定创建一个Google Play开发者控制台帐户(一次性收费25美元),目前看起来像支持API级别16〜1/4的设备(3099/13128)。 – AReubens

+0

@AReubens请注意,我不确定Google Play侦测机制的可靠程度如何... –