草庐IT

ios - 即使应用程序被杀死,也会在特定时间调用方法

我正在开发一款只能在早上8点到下午5点之间运行的应用。我只想在上午8点到下午5点之间存储数据。我这样做使用本地通知。但它仅在用户点击通知时有效。在上午8点30分和下午5点30分,即使应用程序被终止,我也需要执行一些代码。是否有任何其他机制可以这样做...?这是我的代码:UILocalNotification*notification=[launchOptionsobjectForKey:UIApplicationLaunchOptionsLocalNotificationKey];if(notification!=nil){[selfapplication:applicationdid

ios - 如果长时间在后台运行,为什么我的 phonegap 应用程序会重新启动

如果长时间在后台运行,我的phonegap应用程序会重新启动。例如,如果我第二天打开我的应用程序,它会重新启动,而不是从我离开的地方开始。否则它似乎可以完美地保持状态。我看到安装在iphone上的其他一些应用程序也会出现这种情况,例如instagram、twitter,但facebook和whatsapp不会。如果长时间在后台,iOS会杀死应用程序吗?我可以阻止这种情况吗?我在iOS9上使用PhonegapCLI6.0.1(cordova构建版本4.0.1)进行测试。让我知道是否需要任何其他信息。谢谢! 最佳答案 iOS会在需要资源

ios - 如何在应用程序被杀死时从服务器推送通知

我正在开发一个应用程序,可以从服务器接收通知。我使用了UILocalNotification,我的应用程序可以通过前台和后台模式从服务器接收信息,但我不知道当我的应用程序被用户杀死时如何做到这一点。事实上,我知道Facebook消息应用程序可以轻松做到这一点,我们总是随时收到通知。请给我一些解决方案,非常感谢。 最佳答案 请阅读此链接https://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificatio

ios - 当应用程序被杀死或屏幕被锁定时,UNTextInputNotificationAction 不会被调用 swift 3

这就是我注册通知操作的方式funcregisterForPushNotifications(){UNUserNotificationCenter.current().requestAuthorization(options:[.alert,.sound,.badge]){(granted,error)inprint("Permissiongranted:\(granted)")guardgrantedelse{return}letaction=UNTextInputNotificationAction(identifier:replyActionIdentifier,title:"An

Android Firebase推送通知在申请被杀死时不起作用

我创建了Android应用程序以从服务器接收推送通知,但它不起作用。当应用在前景时,它可以完美地工作。但是,当我们从系统托盘上强制关闭应用程序时,它就不起作用。以下是我发送给FCM的JSON代码。{"to":"\/topics\/global","data":{"title":"Title","body":"Body"}}以下是我的android功能publicvoidonMessageReceived(RemoteMessageremoteMessage){super.onMessageReceived(remoteMessage);Log.d("Msg","Messagereceived[

如何动态产生Erlang过程以进行一项活动并在完成活动后将其杀死

一个ErlangOTP(gen_server)过程有许多并行请求。一个过程不足以处理这一点。我可以使用poolboy或worker_pool的相同过程的修复数字池来处理此问题。但是我不想有修复程序集。我想创建动态处理以处理该活动并在完成工作后被杀死。因此,我将有n个并行请求的主动过程数。一旦该过程完成处理,就会被杀死。我如何实现这一目标?看答案使用Erlang主管模块并使用transient在其旗帜中。当您的活动到来时,请开始新的孩子进行此操作,并完成事件时,请以理由退出过程'normal'.主管行为信息:设计-API

ios - 应用程序在后台保留几分钟后被杀死

当我打开我的应用程序并做一些事情时(比如导航到某些ViewController),然后我在几分钟内不触摸App,iPhone被锁定(App进入BackGroundState)。现在之后分钟(大约5分钟)当我解锁iPhone我的应用程序被杀死时。它不存在于打开状态(事件状态)。我需要通过单击应用程序图标明确打开它。我在BackGround状态下没有做任何事情要补充的一件事是应用程序没有崩溃 最佳答案 如果您正确检查您的应用程序没有崩溃,它会显示在多任务UI中,而您不是executingcodeinthebackground,那么我会说

ios - 即使在应用程序被杀死后如何继续进行 iOS 位置跟踪?

当满足以下条件时,我在尝试启用持续位置跟踪时遇到问题:已禁用后台获取应用被杀死发生上述情况时,位置更新将停止。我试图让我的服务器发送推送通知来唤醒应用程序,但如果应用程序被终止,它们不会到达。令人费解的是,类似的功能似乎在WhatsApp上运行良好(thelivelocation)。在WhatsApp上,即使我禁用后台获取并终止应用程序,它也会以某种方式设法再次唤醒它以发送更新的位置信息。有人知道他们在做什么吗? 最佳答案 WhatsApp似乎可以使用PushKit解决这个问题。根据thisquestion:WhatsAppcoul

ios - 如果应用程序被杀死,应用程序在后台时收到的远程通知不会命中 "didReceiveRemoteNotification - fetchCompletionHandler"方法?

我们已经实现了以下方法来接收远程通知,并启用了“项目能力下的后台获取和远程通知”。即使应用程序处于前台或后台,方法也会命中。但是“如果应用程序被杀死,在后台收到通知,则不会调用以下方法”。如何解决这个问题?-(void)application:(UIApplication*)applicationdidReceiveRemoteNotification:(NSDictionary*)userInfofetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler{//Somestoragecode}提前

ios - 如何在不被看门狗杀死的情况下进行冗长的操作? iPhone

我有一个很少执行的重要操作。在某些情况下,执行可能需要几分钟。我的应用程序在50秒操作后被杀死。如何避免这种情况?我应该把它放在后台线程吗?谁能在这里指出我正确的方向。我还没有找到任何关于所谓的看门狗的有用信息。后台线程是可行的方法吗? 最佳答案 是的,您需要将此任务移至后台线程。您永远不应该用任何执行时间超过几分之一秒的任务来阻塞主线程。忽略只在极端条件下启动的看门狗定时器,在这个冗长的操作过程中,您的应用程序对触摸或其他事件完全没有响应,并且您无法向用户提供有关此操作进度的反馈。看门狗定时器会杀死一个应用程序,它会在极长的时间内