在UIViewController中,我注册 UIApplicationWillEnterForegroundNotification 通知。
-(void)viewDidAppear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(btnContinuePressed:)
name:UIApplicationWillEnterForegroundNotification
object:nil];
}
我希望仅在应用程序以正常方式恢复时执行btnContinuePressed:
- 单击图标或通过多任务菜单打开。
使用URL方案打开应用程序时,不应执行方法btnContinuePressed:
。通过URL方案打开在AppDelegate中使用自定义通知处理:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
[[NSNotificationCenter defaultCenter] postNotificationName:@"didOpenViaUrl"
object:url];
return YES;
}
底线:如果UIApplicationWillEnterForegroundNotification
是,则不应触发通知didOpenViaUrl
。
答案 0 :(得分:0)
简单来说,你无法改变它们,但是你可以通过在你的appDelegate代码中创建一个BOOL属性来实现一个棘手的方法,它会告诉你应用程序的打开位置我认为!