【问题标题】:How to make a nativescript-angular app run in the background?如何使 nativescript-angular 应用程序在后台运行?
【发布时间】:2019-09-04 10:51:27
【问题描述】:

我正在使用 nativescript 和 Angular 构建一个混合应用程序,除其他功能外,它应该能够使用地理定位插件将有关用户当前位置的信息发送到服务器。

一切正常,但是当用户(主要是驱动程序)将整个应用程序带到后台(输入例如音乐应用)。

我尝试了很多不同的东西,但我似乎无法弄清楚我在寻找什么。更准确地说,我不知道我找到的选项是否解决了上述问题,或者他们是否只是采用地理定位服务并在后台(而应用程序在前台)处理它,以免干扰用户界面。

如果有人能指出我在 Android 和 iOS 上的正确方向,我将不胜感激(比如我应该实现什么以使其在 Android 中运行以及如何实现以使其在 iOS 中运行)。

谢谢!

我找到的选项(实际上并没有尝试其中的一些,因为我不明白哪些选项可以让一个进程在后台工作,哪些可以帮助我让我的应用程序在后台运行它的进程): 1. https://github.com/NativeScript/worker-loader

2. https://docs.nativescript.org/core-concepts/multithreading-model?_ga=2.61764908.1834822381.1567423754-1194537488.1566893752

3. https://github.com/NativeScript/nativescript-geolocation/blob/master/README.md

4. https://www.nativescript.org/blog/using-android-background-services-in-nativescript(我认为这是由于工人选项的实施而被弃用)

5. https://github.com/NativeScript/sample-android-background-services

-

【问题讨论】:

    标签: angular geolocation nativescript updates background-process


    【解决方案1】:

    Worker 不同于 Background Service。一项工作只是帮助您将负载从主/ UI 线程转移到不同的线程。但是当您想要在后台获取位置和上传数据时,您需要一个后台服务,即使您的应用程序已被最小化/终止。

    nativescript-geolocation 插件本身有一个fetching location in background 的示例,您可以使用类似的方法将数据上传到服务器,而不是像示例中那样显示在吐司中。

    对于 iOS,您应该使用地理位置插件并使用 Background Fetch 在后台订阅更新。你应该使用location,而不是UIBackgroundModes 作为fetch

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-06
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2011-09-11
      • 2011-02-10
      相关资源
      最近更新 更多