最白目*_*最白目 35 objective-c push-notification apple-push-notifications ios
我的问题是我想显示初始推送通知提示的加载屏幕"应用程序想要向您发送推送通知".
因此,如果用户点击,yes我可以继续并在随后调用的委托方法中启动应用程序:
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
[self hideLoadingScreen];
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
[self hideLoadingScreen];
}
Run Code Online (Sandbox Code Playgroud)
但是,如果用户点击no,则不会调用这些方法,这是有道理的.我的问题是,是否有一个不同的委托方法,如果他拒绝,会被解雇?
我的问题是如果no被选中,加载屏幕永远不会消失.所以我不知何故需要知道用户何时完成选择.
Jef*_*cia 32
在iOS 7中,当系统的推送通知提示出现时,应用程序变为非活动状态,并且UIApplicationWillResignActiveNotification将触发.类似地,当用户响应提示时(按"是"或"否"),应用程序再次变为活动状态,并且UIApplicationDidBecomeActiveNotification将触发.
因此,您可以收听此通知,然后隐藏加载屏幕.
注意:显示提示时,"主页"按钮,"通知中心"和"控制中心"将被禁用,因此无法触发误报UIApplicationDidBecomeActiveNotification.但是,如果用户按下"锁定"按钮,则会触发UIApplicationDidBecomeActiveNotification.
您始终可以获取当前允许的通知类型:
UIRemoteNotificationType notificationTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
Run Code Online (Sandbox Code Playgroud)
请记住,用户还可以在手机设置中禁用通知.
如果你在didRegisterForRemoteNotificationsWithDeviceToken上检查,你应该看看你要求的类型是否已启用.
| 归档时间: |
|
| 查看次数: |
19103 次 |
| 最近记录: |