iOS PUSH 通知类型选项?警报与横幅?

标签 ios objective-c push

我已经阅读了这里的帖子,建议让 PUSH 通知显示为警报而不是横幅的唯一方法是让个人最终用户更改 中的 Alert Style应用程序 设置 的通知 部分。让我感到困惑的是,有些应用程序可以默认为 Alerts 样式,而无需执行此操作。

有没有办法在初始启动时通过对话框以编程方式设置 Alerts 样式?我不介意要求用户在对话框中确认。我只知道因为其他应用不需要用户手动进入设置来更改提醒样式,所以必须有不同的方法来执行此操作...

我有以下内容-

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
    return YES;
}

最佳答案

您的应用只有检查通知设置的权限,您永远不能为用户设置或更改通知类型。

查询通知类型时的选项如下

typedef NS_OPTIONS(NSUInteger, UIRemoteNotificationType) {
    UIRemoteNotificationTypeNone    = 0,
    UIRemoteNotificationTypeBadge   = 1 << 0,
    UIRemoteNotificationTypeSound   = 1 << 1,
    UIRemoteNotificationTypeAlert   = 1 << 2,
    UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3,
}

通过查询推送设置,您只能知道用户是否启用了警报,但不知道警报的显示方式(横幅与警报)。

关于iOS PUSH 通知类型选项?警报与横幅?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19185886/

相关文章:

iphone - 如何在导航栏下方添加显示今天日期的固定栏?

ios - 如何在 iOS 中显示 MBProgressHud 时添加文本?

当应用程序在前台时,iOS Swift 接收推送通知

javascript - 在级联下拉列表所依赖的数组中间添加一个值

ios - 报亭推送通知未启动应用程序

ios - 检查目录中的文本文件是否直接显示

ios - 将自动触摸事件坐标发送到 UIView

android - 使用共享首选项保存列表时遇到问题(仍然需要帮助)

objective-c - 如何将 SEL 传递给 dispatch_async 方法

ios - 使用 Xcode 8.1 不接收推送通知