我用做电话从我的应用程序:如何确定应用程序是从电话返回还是从后台恢复?
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://XXXXXXXXXX"]];
当用户结束通话时,默认苹果提供的电话应用程序转到后台和我的应用程序的简历重点。这是自动发生的。
现在,这里就是我想要的:我想每一次(且仅当)从呼叫用户返回到调用方法。
我试图从applicationWillEnterForeground:
或applicationDidBecomeActive:
调用此方法,但这些回调在其他时间发射时的应用正在从后台状态(我不想)推出。
我想确定我的应用正在从后台状态启动,或者如果它是从一个电话回来,所以我只能在前者的情况下,而不是后者执行特定任务。有任何想法吗?
---- ----编辑
下面是我终于做到了:
参见: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
}
};
}
烨,利用CTCall的callState属性来实现这一目标。 – NSExplorer 2013-04-05 20:58:43