16

我的应用程序完全按照我的意愿从服务器的静默远程通知中从挂起模式唤醒。该服务器发送带有“内容可用:1”的推送通知,它完成了这项工作。

现在我想在没有服务器帮助的情况下执行此操作,因此我想在将来(例如 15 分钟后)一次(从应用程序)发送静默本地通知,但找不到设置“内容可用:1"。所以我最终得到了不会唤醒我的应用程序的本地通知,就像我可以通过远程通知一样。

我搜索了信息,我能找到的只是交互式通知的示例以及如何设置标题、正文、警报和触发器(基于位置、日期等)。但没有关于如何设置内容可用属性。

那么,是否可以为本地通知设置内容可用?

4

5 回答 5

6

没有用户干预是不可能的。在 iOS 中,没有 Android 的 AlarmManager 类型的解决方案可以将应用程序从挂起模式唤醒。在 iOS 中,除了远程推送通知(如果外部应用程序定期发送推送通知),没有办法定期从挂起模式唤醒应用程序。

于 2018-04-13T10:15:32.240 回答
1

我认为在没有用户干预本地通知的情况下唤醒应用程序是不可能的。后台获取可能是您的案例的可能解决方案。

application.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)

当 iOS 决定可能发生后台获取时,将调用此 UIApplicationDelegate 方法:

func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void)
于 2017-07-06T10:07:13.403 回答
0

后台获取是这里唯一的解决方案。

Xamarin 文档中有一些信息可以很好地解释它

似乎 PushNotifications 无论如何都使用后台获取,所以这实际上是相同的路线,尽管通过不精确的计时机制。

于 2018-04-10T23:26:25.803 回答
-5

给你,伙计 :) Apple 文档通过无声通知

于 2017-07-06T10:13:23.147 回答
-6

如果您没有设置所有这些值,通知应该是静默的:

notification.alertBody = message;
notification.alertAction = @"Show";
notification.category = @"ACTION"; 
notification.soundName = UILocalNotificationDefaultSoundName;
于 2017-07-06T09:16:27.947 回答