Обнаружение симкарты на мобильном устройстве
Я хочу добавить функцию безопасности, для которой мне нужно проверить, установлена ли sim [contactno] на perticular устройстве [android/ios].
Пример: мне нужно проверить, если нет, как 989xxxx640 доступен в устройстве или нет.
3 ответа
Согласно документации для [CTCarrier carrierName]:
Если вы настроите устройство для оператора и затем удалите SIM-карту, это свойство сохранит имя оператора.
Насколько я знаю, вы не можете определить, установлена ли SIM-карта. Вы можете только определить, доступно ли соединение WWAN, используя Reachability.
public int checkSim(){
TelephonyManager telMgr = (TelephonyManager) context.getSystemService(
Context.TELEPHONY_SERVICE);
int simState = telMgr.getSimState();
switch (simState) {
case TelephonyManager.SIM_STATE_NETWORK_LOCKED:
case TelephonyManager.SIM_STATE_PIN_REQUIRED:
case TelephonyManager.SIM_STATE_PUK_REQUIRED:
case TelephonyManager.SIM_STATE_READY:
return SIM_PRESENT;
case TelephonyManager.SIM_STATE_UNKNOWN:
case TelephonyManager.SIM_STATE_ABSENT:
default :
return SIM_ABSENT;
}
}
используйте этот код для проверки сима
Используя CTTelephonyNetworkInfo, вы можете определить, доступна сим-карта или нет.
CTTelephonyNetworkInfo *network_Info = [CTTelephonyNetworkInfo new];
CTCarrier *carrier = network_Info.subscriberCellularProvider;
//will return the actual country code
NSLog(@"ISO country code is: %@", [carrier.isoCountryCode uppercaseString]);
Если найти значение null [carrier.isoCountryCode uppercaseString], то SIM-карта недоступна на вашем устройстве.
Попробуй это!!!