如何判断 iOS 通知是否被取消?

4

有没有办法知道本地通知是否被从通知中心取消(例如通过按x按钮)?

是否可能获取所有当前在通知中心可见的通知列表?

1个回答

5
没有任何一个苹果API可以获取通知列表,也没有被忽略/关闭通知的反馈。
如果您想要实现这样的逻辑,建议基于自己的服务器构建此类逻辑:
1. 发送通知时,在服务器端保留有关其的信息。 2. 当您从通知中打开应用程序(可行)时,向服务器端发送信息。 3. 当您不是从通知中打开应用程序时,可以在服务器端上设置逻辑,检查是否有任何未确认的通知从上次打开应用程序以来。
请记住,通知并不总是会被传递 - 不能保证用户会收到通知,如果用户已将通知关闭,则所有通知都将被视为被忽略。为了改善该逻辑,您可能需要向服务器发送有关用户通知权限的信息 - 这仍然不能保证他们没有在设置中禁用它们:(
长话短说 - 永远不要根据通知构建任何应用程序核心功能。

然而,这并不准确 - 因为并非所有从服务器发送的通知都会被手机接收到(例如,如果手机关闭了,则无法传递),而且在这种情况下,服务器将无法获得反馈,即推送未被传递。 - Gruntcakes
这是正确的@MartinH,但没有更好的方法来实现类似的功能。如果他想追踪那些没有看到或忽略通知的人-应该足够好了。我会编辑答案以澄清。 - Grzegorz Krukowski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接