Nativescript如何在后台发出http请求
Posted
技术标签:
【中文标题】Nativescript如何在后台发出http请求【英文标题】:Nativescript how to make http requests in the background 【发布时间】:2019-07-31 05:22:09 【问题描述】:嗨,因为我希望能够在应用程序关闭时运行一些代码 (关闭我的意思是由任务管理器关闭)。 我的应用程序必须能够在 android 和 ios 的后台通过 axios 发出 http 请求(必须使用本地通知插件发送通知,提醒外部日历中的一个或多个事件将在一小时内开始),我在网络,我看到了文档,但不清楚我应该怎么做,我还读到在 android 8 上运行后台代码的方式发生了根本性的变化。 有人可以向我解释我必须做什么吗?我应该向系统请求什么权限?或者如果网上有任何代码示例。
【问题讨论】:
【参考方案1】:这里是为iOS 和Android 实现后台服务的示例。
还有一个插件nativescript-background-fetch 可能对你有用。
tns plugin add nativescript-background-fetch
在应用停止运行时大约每 15 分钟调用一次回调函数,这样您就可以完成后台活动,例如下载内容等,
【讨论】:
嗨,是的,这就是我要找的。但是我有一个问题,我安装了插件,但是当使用 import BackgroundFetch from "nativescript-background-fetch" 的数量给我这个错误:无法读取未定义的属性 'CompletitionHandler' 是运行时异常还是编译异常? 运行时 java.lang.RuntimeException: 无法创建应用程序 com.tns.NativeScriptApplication: com.tns.NativeScriptException:【参考方案2】:好的,您应该在 Android 中使用服务。这是一个简单的类,使它在后台发生,完成后您可以停止服务。它适用于最高 API v26 api 的 android。 (不包括 26 个)。 Documentation
对于 >=26,您可以使用管理器。已经有一个downloadManager。但是你不必使用它,你也可以使用 Job Scheduler (>=lollipop)。 有一个很好的教程here。
另外,阅读有关在 NativeScript 中使用 Android 后台服务的信息here。
【讨论】:
@ChristopherCivitale 不,它适用于 android 我现在在末尾添加了一个 nativeScript 的新链接。 你好,我看到了文档,但我不清楚一件事。示例使用tap事件开始后台运行,如何不用按键自动启动后台服务? 您不必使用按钮。随时随地启动它。在应用程序启动时。在服务器回复时。在推送通知时。限制是您的想象力。以上是关于Nativescript如何在后台发出http请求的主要内容,如果未能解决你的问题,请参考以下文章
在 Nest JS 中发出 http 请求时出现 httpService 未定义错误