IOS——插入拔出Sim卡监听方法及是否插入Sim卡判断方法

来源:互联网 发布:网络机顶盒看片你懂的 编辑:程序博客网 时间:2024/04/30 01:41

(1) 检测iPhone是否插入Sim卡

1. 首先在判断是否插入Sim卡方法的.h文件中粘贴如下代码

externNSString* const kCTSMSMessageReceivedNotification;

externNSString* const kCTSMSMessageReplaceReceivedNotification;

externNSString* const kCTSIMSupportSIMStatusNotInserted;

externNSString* const kCTSIMSupportSIMStatusReady;


id CTTelephonyCenterGetDefault(void);

void CTTelephonyCenterAddObserver(id,id,CFNotificationCallback,NSString*,void*,int);

void CTTelephonyCenterRemoveObserver(id,id,NSString*,void*);

int CTSMSMessageGetUnreadCount(void);


int CTSMSMessageGetRecordIdentifier(void * msg);

NSString * CTSIMSupportGetSIMStatus();

NSString * CTSIMSupportCopyMobileSubscriberIdentity();


id  CTSMSMessageCreate(void* unknow,NSString* number,NSString* text);

void * CTSMSMessageCreateReply(void* unknow,void * forwardTo,NSString* text);


void* CTSMSMessageSend(id server,id msg);


NSString *CTSMSMessageCopyAddress(void *,void *);

NSString *CTSMSMessageCopyText(void *,void *);


2. 导入CTTelephony.framework

3. 在.m文件中调用方法判断:

    BOOL noSim=[CTSIMSupportGetSIMStatus()isEqualToString:kCTSIMSupportSIMStatusNotInserted];

    NSLog(@"no Sim %@",noSim?@"YES":@"NO");


如果结果是YES表示没有插入Sim卡,如果是NO则表示插入了Sim卡


(2)插入拔出Sim卡事件监听方法

    NSString *CTSIMSupportGetSimStatus();

    [[NSNotificationCenterdefaultCenter]

     addObserver:selfselector:@selector(SIMNotification:)name:@"kCTSIMSupportSIMStatusChangeNotification"object:nil];


然后定义相应方法SIMNotification

-(void)SIMNotification:(id)selector{

    [selfshowSimInfo];

}


拔出Sim卡时调用一次,插入Sim卡也调用一次



0 0
原创粉丝点击