Обнаружение симкарты на мобильном устройстве

Я хочу добавить функцию безопасности, для которой мне нужно проверить, установлена ​​ли 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-карта недоступна на вашем устройстве.

Попробуй это!!!

Другие вопросы по тегам