iphone:如何以编程方式检测最后一个来电号码?

时间:2011-09-26 08:48:58

标签: iphone

有没有办法检测最后一个来电号码& iPhone上的通话时间,我可以获得所有通知(核心电话),但不知道如何获得来电号码。

4 个答案:

答案 0 :(得分:3)

你不能,API不允许你这样做。

我认为苹果绝不会因为隐私问题而允许这样做。

答案 1 :(得分:1)

根据api,你不能这样做......但这里有些东西可以帮助你......虽然我自己没有尝试过...... http://iosstuff.wordpress.com/2011/08/19/accessing-iphone-call-history/

答案 2 :(得分:0)

Apple官方不允许。您无法访问其他应用程序的数据库,然后再访问您的数据库。

答案 3 :(得分:0)

您可以使用此

if ([name isEqualToString:@"kCTCallIdentificationChangeNotification"])
    {
        // CTCallCenter *center = [[CTCallCenter alloc] init];
        // center.callEventHandler = ^(CTCall *call) {
        // NSLog(@”call:%@”, [call description]);
        // };

        //NSDictionary *info = (NSDictionary *)userInfo;
        CTCall *call = (CTCall *)[info objectForKey:@"kCTCall"];
        NSString *caller = CTCallCopyAddress(NULL, call);
        NSLog(@"caller:%@",caller);
        //CTCallDisconnect(call);
        /* or one of the following functions: CTCallAnswer
         CTCallAnswerEndingActive
         CTCallAnswerEndingAllOthers
         CTCallAnswerEndingHeld
         */

        //if ([caller isEqualToString:@"+1555665753"])
        if ([caller isEqualToString:@"+918740061911"])
        {
            NSLog(@"disconnecting call");
            //disconnect this call
            CTCallDisconnect(call);

        }

    }