Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to determine if an app is returning from a phone call or resuming from background?

I make phone call from my application using:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://XXXXXXXXXX"]];

When the user ends the call, the default Apple-provided Phone app goes to the background and my application resumes focus. This happens automatically.

Now here's what I want: I'd like to call a method every time (and only when) the user returns from a call.

I tried calling this method from applicationWillEnterForeground: or applicationDidBecomeActive: but these callbacks are fired at other times when the application is being launched from the background state(which I dont want).

I'd like to determine if my application is being launched from the background state or if it is returning from a phone call so I can perform a certain task only in the former case and not latter. Any ideas?

----EDIT----

Here's how I finally did it:

See: CallStateDisconnected only detected for incoming calls, not for calls made from my app

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [self listenForCalls];
}

- (void)listenForCalls {

    self.callCenter = [[CTCallCenter alloc] init];
    self.callCenter.callEventHandler = ^(CTCall* myCall) {
        NSString *call = myCall.callState;
        if([call isEqualToString:CTCallStateDialing]) {
              //do ur stuff
        }
    };
}
like image 694
NSExplorer Avatar asked Jan 24 '26 00:01

NSExplorer


1 Answers

You Can use telephony framework, Which provides you call states to determine the state of phone. You can find out detail from here: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Reference/CTCall/Reference/Reference.html#//apple_ref/doc/uid/TP40009590

like image 169
user1113101 Avatar answered Jan 26 '26 16:01

user1113101



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!