Доступ к SIM-карте с помощью приложения для Android?

Интересно, можно ли получить доступ к SIM-карте с Android-приложением

Ответы

Ответ 1

Вы можете получить IMEI, как это (но это то, что вы хотите?), просто пример:

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

Аналогично, вы

String getSimCountryIso():

Возвращает эквивалент кода страны ISO для кода страны поставщика SIM-карты.

String getSimOperator(): Возвращает MCC + MNC (код мобильной страны + код мобильной сети) поставщика SIM-карты.

String getSimOperatorName(): Возвращает имя поставщика услуг (SPN).

String getSimSerialNumber(): Возвращает серийный номер SIM-карты, если это применимо.

int getSimState(): Возвращает константу, указывающую состояние SIM-карты устройства.

String getSubscriberId(): Возвращает уникальный идентификатор абонента, например, IMSI для телефона GSM.

Подробнее см. эту страницу

и не забудьте добавить правильное разрешение в манифест (getDeviceId() => Requires Permission: READ_PHONE_STATE)

Ответ 2

Без SmartCardAPI от SEEK (Secure Element Evaluation Kit) его невозможно. В большинстве телефонов Android, доступных на рынке, SmartCardAPI не реализован. Таким образом, либо вы создаете свой собственный Android после интеграции кода SmartCardAPI, либо дождались появления приличного телефона с этой функцией. Вы можете найти файл исправления для реализации здесь.

Ответ 4

Доступ к SIM-карте возможен только для системных приложений:

Низкий уровень доступа к SIM-карте недоступен сторонним приложениям. ОС обрабатывает все сообщения с SIM-картой, включая доступ на личную информацию (контакты) в памяти SIM-карты. Приложения также не могут получить доступ к командам AT, поскольку они управляются исключительно с помощью интерфейса радиоинтерфейса (RIL). RIL не обеспечивает API высокого уровня для этих команд.

источник: https://source.android.com/security/overview/app-security.html#sim-card-access

Ответ 5

SEEK наиболее полезен, но большинство телефонов Android не поддерживают это. Так что, возможно, мы можем оценить SIM-карту каким-то другим способом, например, читать SMS (на SIM-карте).

Ответ 6

Вы должны использовать IccFileHandler в interal api для android, используя java-отражение. Он расположен в инфраструктуре/базе/телефонии