2010-03-03 2 views
13

가 궁금Android 애플리케이션으로 SIM 카드에 액세스 하시겠습니까? 이 안드로이드 응용 프로그램과 함께 SIM 카드에 액세스 할 수 있는지

+0

더 구체적인 질문이 필요합니다. 액세스하려는 SIM 카드는 무엇입니까? – CommonsWare

+1

아마 "임의의 APDU-s 교환"이 그가 원하는 것일 것입니다. –

+1

APAP 또는 BIP 프로토콜을 사용하여 javacard 응용 프로그램과 암호화하려고합니다. – Adrien

답변

7

할 수 있습니다이 같은 IMEI (하지만 당신이 원하는 무엇입니까?), 그냥 exemple 수 : 마찬가지로

mTelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
String imei = mTelephonyMgr.getDeviceId(); 

을 , 가지고있어

String getSimCountryIso(): 

SIM 공급자의 국가 코드에 해당하는 ISO 국가 코드를 반환합니다.

String getSimOperator(): SIM 제공 업체의 MCC + MNC (모바일 국가 코드 + 모바일 네트워크 코드)를 반환합니다.

String getSimOperatorName(): 서비스 공급자 이름 (SPN)을 반환합니다.

String getSimSerialNumber(): 가능한 경우 SIM의 일련 번호를 반환합니다.

int getSimState(): 장치 SIM 카드의 상태를 나타내는 상수를 반환합니다.

String getSubscriberId(): 고유 한 가입자 ID를 반환합니다 (예 : GSM 전화의 IMSI). 자세한 내용은

this page

를 살펴보고 매니페스트 (getDeviceId() => Requires Permission: READ_PHONE_STATE)

에 올바른 권한을 추가하는 것을 잊지 마세요
+0

IMEI는 SIM 카드가 아닌 전화 장치와 연결되어 있습니다. –

+0

그러나 javacard 응용 프로그램과 통신하기 위해 SIMD 카드에 APDU 명령을 보낼 수 있습니까? – Adrien

+0

이것은 스마트 카드 통신 프레임 워크로, 전화 번호를 변경할 수 없습니다. –

4
안드로이드에 대한

스마트 카드 API는 당신을 위해 관심의 대상이 될 수 있습니다 : http://code.google.com/p/seek-for-android/

+0

이 앱으로 Android 스마트 폰에서 MSISDN (전화 번호)을 변경할 수 있습니까? –

5

SEEK (Secure Element Evaluation Kit)의 SmartCardAPI가 없으면 절대로 사용할 수 없습니다. 시장에서 사용 가능한 대부분의 안드로이드 폰에서 SmartCardAPI는 구현되지 않습니다. 따라서 SmartCardAPI 코드를 통합 한 후에 자신 만의 Android를 만들거나이 기능을 갖춘 적당한 전화기를 기다려야합니다. 구현 here에 대한 패치 파일을 찾을 수 있습니다.

2

SIM 카드 액세스 시스템 응용 프로그램에만 가능합니다 : SIM 카드에

낮은 수준의 액세스 타사 응용 프로그램을 사용할 수 없습니다. OS는 SIM 카드 메모리의 개인 정보 (연락처)에 대한 액세스 ( )를 포함한 SIM 카드와의 모든 통신을 처리합니다. 응용 프로그램도 RX 인터페이스 (RIL)에서만 을 관리하므로 AT 명령에 액세스 할 수 없습니다. RIL은 이러한 명령에 대해 높은 수준의 API를 제공하지 않습니다.

소스 : https://source.android.com/security/overview/app-security.html#sim-card-access

+0

업데이트 된 링크 : https://source.android.com/security/overview/app-security.html#sim-card-access – Miscreant

+0

@Miscreant : Thx. 나는 나의 대답을 업데이트했다. – Robert

0

이 찾는 가장 유용 하나이지만, 대부분의 안드로이드 폰은 어쩌면 우리가 (SIM 카드) 읽기 SMS와 같은 다른 방법으로 SIM 카드를 평가할 수, that.So를 지원하지 않습니다.

+0

안녕하세요. 자세한 설명을 제공해 주시겠습니까? – Skynet

0

자바 리플렉션을 사용하여 안드로이드의 interal API에서 IccFileHandler를 사용해야합니다. 프레임 워크 /베이스/전화 통신에 위치합니다.

관련 문제