2010-03-03 33 views
13

Tôi tự hỏi nếu nó có thể truy cập vào thẻ SIM với một ứng dụng AndroidTruy cập Thẻ SIM bằng Ứng dụng Android?

+0

Bạn cần hỏi nhiều câu hỏi cụ thể hơn. Điều gì về thẻ SIM mà bạn muốn truy cập? – CommonsWare

+1

Có lẽ "trao đổi tùy ý APDU-s" là những gì anh ta muốn. –

+1

Tôi muốn cimmunicate với một ứng dụng javacard với APDu hoặc BIP giao thức – Adrien

Trả lời

7

Bạn có thể có được IMEI như thế này (nhưng nó những gì bạn muốn?), Chỉ là một dụ:

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

Tương tự như vậy , bạn có

String getSimCountryIso(): 

Trả về mã quốc gia ISO tương đương với mã quốc gia của nhà cung cấp SIM.

String getSimOperator(): Trả về MCC + MNC (mã quốc gia di động + mã mạng di động) của nhà cung cấp SIM.

String getSimOperatorName(): Trả lại tên nhà cung cấp dịch vụ (SPN).

String getSimSerialNumber(): Trả về số sê-ri của SIM, nếu có.

int getSimState(): Trả về hằng số cho biết trạng thái của thẻ SIM thiết bị.

String getSubscriberId(): Trả lại ID người đăng ký duy nhất, ví dụ: IMSI cho điện thoại GSM.

Để biết thêm, hãy xem this page

và đừng quên thêm quyền đúng trong manifest (getDeviceId() => Requires Permission: READ_PHONE_STATE)

+0

IMEI được liên kết với các thiết bị điện thoại, không phải là thẻ SIM. –

+0

Nhưng tôi có thể gửi lệnh APDU cho Thẻ SIM để giao tiếp với ứng dụng javacard không? – Adrien

+0

Đây là khung giao tiếp SmartCard, không cho phép bạn thay đổi số điện thoại. –

4

API SmartCard cho Android có thể là mối quan tâm dành cho bạn: http://code.google.com/p/seek-for-android/

+0

Ứng dụng này có cho phép bạn thay đổi MSISDN (số điện thoại) trên điện thoại thông minh Android không? –

5

Nếu không có SmartCardAPI từ SEEK (Bộ đánh giá phần tử bảo mật) thì không bao giờ có thể. Trong hầu hết các điện thoại Android có sẵn trên thị trường, SmartCardAPI không được triển khai. Vì vậy, hoặc là bạn xây dựng Android của riêng bạn sau khi tích hợp mã SmartCardAPI hoặc chờ một số điện thoại phong nha với tính năng này xuất hiện. Bạn có thể tìm thấy tệp bản vá để triển khai here.

2

truy cập thẻ SIM chỉ có thể cho các ứng dụng hệ thống:

thấp mức độ truy cập vào thẻ SIM không có sẵn cho các ứng dụng của bên thứ ba. Hệ điều hành xử lý tất cả các liên lạc với thẻ SIM bao gồm truy cập đến thông tin cá nhân (danh bạ) trên bộ nhớ thẻ SIM. Ứng dụng cũng không thể truy cập các lệnh AT, vì chúng được quản lý độc quyền bởi Lớp giao diện radio (RIL). RIL không cung cấp API cấp cao cho các lệnh này.

nguồn: https://source.android.com/security/overview/app-security.html#sim-card-access

+0

Liên kết được cập nhật: https://source.android.com/security/overview/app-security.html#sim-card-access – Miscreant

+0

@Miscreant: Thx. Tôi đã cập nhật câu trả lời của mình. – Robert

0

SEEK là một hữu ích nhất, nhưng đa số điện thoại Android không hỗ trợ that.So, có lẽ chúng ta có thể đánh giá thẻ SIM bằng một số phương pháp khác như đọc tin nhắn SMS (trong thẻ SIM).

+0

Xin chào, bạn có thể vui lòng cung cấp giải thích thêm không? – Skynet

0

Bạn nên sử dụng IccFileHandler trong api liên kết của android bằng cách sử dụng phản chiếu java. Nó nằm ở khung/cơ sở/điện thoại

Các vấn đề liên quan