gpt4 book ai didi

iphone - 在我的 iPhone 应用程序内读取 "Settings"应用程序中的通知标志

转载 作者:行者123 更新时间:2023-12-03 18:52:45 25 4
gpt4 key购买 nike

我正在为我的应用程序启用推送通知。当我的应用程序运行时,我们如何读取“设置”应用程序中的通知标志。由于某些原因,我需要知道特定通知(警报、声音、徽章)是否设置为开/关。

请指导。

最佳答案

尝试调用此方法[[UIApplication sharedApplication]enabledRemoteNotificationTypes]

它将返回一个 UIRemoteNotificationType,您可以使用它来确定可用的内容。

UIRemoteNotificationType status = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

现在,可以使用 NSLog(@"status = ", status); 将状态视为 int,我们可以准确地确定正在发生什么。但要做到这一点,我们需要了解 UIRemoteNotificationType。

typedef enum {
UIRemoteNotificationTypeNone = 0,
UIRemoteNotificationTypeBadge = 1 << 0,
UIRemoteNotificationTypeSound = 1 << 1,
UIRemoteNotificationTypeAlert = 1 << 2,
UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3
} UIRemoteNotificationType;

无需详细说明,您基本上需要了解的是......

  • 如果徽章已打开,请添加 1
  • 如果声音打开,请添加 2
  • 如果警报已开启,请添加 4
  • 如果报亭内容可用,请添加 8(我不会担心这个人)

假设您想知道徽章/声音/警报是否全部打开。 UIRemoteNotificationType(如果您正在玩的话,则为状态)应该为 7。

现在,让我们倒退一下。假设status == 5。只有一种设置配置可以为我们提供此值,即徽章和警报是否打开(徽章加 1,警报加 4,总计为 5)并且声音关闭。

如果状态== 6怎么办?同样,只有一种设置配置会返回此数字,即警报和声音均打开,而徽章关闭。

使用 IF 语句,我们可以做类似的事情

If (status == 5)
{
NSLog(@"User has sound alerts disabled");
[self fireThatSpecialMethod];
}

运行一组代码,或者在声音被禁用但其他一切都打开时触发特定方法。无论如何,希望这个回答对人们有帮助!

关于iphone - 在我的 iPhone 应用程序内读取 "Settings"应用程序中的通知标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5399137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com