提问人:ronnie173 提问时间:4/21/2011 最后编辑:JOMronnie173 更新时间:4/21/2012 访问量:4007
如何从 iphone 上的来电中获取来电者的电话号码
How can I get the callers phone number from an incoming call on iphone
答:
2赞
Vin
4/21/2011
#1
不可能。
但是,您可以使用 CoreTelephony 框架获得呼叫状态(已连接/断开连接等)等信息。
0赞
ios
3/16/2012
#2
如果您想在来电或去电时执行任何操作,则必须使用以下代码:
CTCallCenter *callCenter; //make it ivar if you are using ARC or handler will be auto-released...
callCenter = [[CTCallCenter alloc] init];
callCenter.callEventHandler=^(CTCall* call) {
NSLog(@"Call id:%@", call.callID);
[self callStateChange:call.callState andId:call.callID];
if (call.callState==CTCallStateDialing) {
NSLog(@"Call state:dialing");
}
if (call.callState==CTCallStateIncoming) {
NSLog(@"Call state:incoming");
//here you lower your speaking volume if you want
}
if (call.callState==CTCallStateConnected) {
NSLog(@"Call state:connected");
}
if (call.callState==CTCallStateDisconnected) {
NSLog(@"Call state:disconnected");
}
};
但是,当您的应用程序处于活动状态或从后台到前台时,这将起作用。如果应用程序将终止或暂停,则无法正常工作。首先,检测呼叫状态,然后立即显示本地通知。当单击“查看详细信息”时,请再次显示您的应用程序。但这没有得到苹果的批准,因为它会在后台发送电话。所以这可能是有风险的。
评论