Доступ к 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, либо дождались появления приличного телефона с этой функцией. Вы можете найти файл исправления для реализации здесь.
Ответ 3
SmartCard API для Android может вас заинтересовать:
http://code.google.com/p/seek-for-android/
Ответ 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-отражение.
Он расположен в инфраструктуре/базе/телефонии