2016-07-29 114 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偵測機制的可靠程度如何... –