【发布时间】:2010-08-27 18:43:08
【问题描述】:
尝试解决应用程序中推送通知被拒绝时的一些极端情况,我有两个问题:
1) 有没有办法重置用户是否看到弹出的通知请求?
2) 有没有办法确定用户是否拒绝通知请求?
【问题讨论】:
标签: ios apple-push-notifications
尝试解决应用程序中推送通知被拒绝时的一些极端情况,我有两个问题:
1) 有没有办法重置用户是否看到弹出的通知请求?
2) 有没有办法确定用户是否拒绝通知请求?
【问题讨论】:
标签: ios apple-push-notifications
1) 不,除非有一些私有 API 可以这样做,但 Apple 不允许这样做
2) 第一次启动应用时,调用registerForRemoteNotificationTypes后,可以查看是否调用了didRegisterForRemoteNotificationsWithDeviceToken。如果不是,用户说“不,谢谢”。
【讨论】:
如果用户更改权限,您可以随时查看权限状态,您可以在applicationDidBecomeActive上查看权限
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if ([[UIApplication sharedApplication] respondsToSelector:@selector(isRegisteredForRemoteNotifications)]) {
if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]){
NSLog(@"Notifications Enabled ios 8");
} else {
NSLog(@"Notifications not Enabled ios 8");
}
} else {
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types & UIRemoteNotificationTypeAlert)
{
NSLog(@"Notifications Enabled");
}
else
{
NSLog(@"Notifications not Enabled");
}
}
}
已更新以使其也可以在 iOS 8 上运行
【讨论】: