我的应用程序注册这样的通知:
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert];
但如果我手动转到通知设置,禁用所有内容(通知中心、警报、声音、角标(Badge)),然后卸载并重新安装该应用程序(或者只是重新安装而不先卸载),我的 iPhone 会保留旧设置。如何在重新安装时强制重新激活这些设置?
最佳答案
你不能。在 iOS 5.0 中,有一个未记录的功能可以通过 url 方案从您的应用程序打开通知设置页面(或任何设置页面)。然后你可以要求用户启用通知。但是它在 5.1 中被删除了,无论如何可能不会被 Apple 接受。
registerForRemoteNotificationTypes
仅在您第一次调用您的应用程序时询问用户他是否希望接受来自您的应用程序的通知。如果稍后用户更改通知设置,则不会再询问。您可以使用 enabledRemoteNotificationTypes
检查您的应用程序是否启用了通知,如果需要,您可以自己警告用户,但用户必须手动转到设置并重新启用它们。您不能再从您的应用程序中执行此操作。
从 iOS 8.0 开始更新
从 iOS 8.0 开始,Apple 恢复了打开您应用的“系统设置”页面的可能性:
NSURL* settingsURL = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:settingsURL];
关于ios - 如何以编程方式激活 ios 通知设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10026375/