2016-07-29 2 views
1

Open Mobile API를 사용하여 개발 중이지만 기본적으로 API를 지원하는 장치 목록을 찾지 못했습니다 (기본적으로 OEM ROM 사용).OMAPI 지원 장치 목록

API 레벨 21 이래로 Android 전화는 기본 및 논리 채널을 통해 APDU를 전화 통신을 통해 직접 전송할 수 있음을 알고 있습니다. 하지만 API 레벨 21 이전에 실행중인 기기에 대해서도 알고 싶습니다.

그래서 목록이 내장 된 지원 장치로 이미 컴파일되었거나 자신을 찾을 수있는 방법이 있습니까?

답변

1

나는 완전한 목록을 알지 못합니다. 그러나 우리의 보고서 Open Mobile API: Accessing the UICC on Android Devices에는 그다지 포괄적 인 것이 없으며 SEEK-for-Android Wiki에는 또 다른 것이 있습니다.

당신이, 관심있는 각 장치에 액세스 할 수있는 경우는, cource의, 스마트 카드 시스템 서비스가 그들에 사용할 수 있는지 확인할 수 있습니다 :

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는 true (android:required="true")으로 설정된 필수 속성이있는 <uses-library /> 항목을 기준으로 필터링합니다. <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를 통한 탐지 메커니즘이 얼마나 신뢰할 수 있는지 잘 모르겠습니다 ... –