android - ionic 项目背景中的计步器

标签 android ios cordova ionic-framework

我已经在互联网上搜索了一段时间的解决方案,但没有成功。我需要一个 cordova 插件或任何一种方式来获取手机支架所采取的步骤。我找到了 ionic-native 的计步器,但它只在应用程序打开或至少正在运行时计算步数,并且它还会在应用程序关闭时重新开始计数。

我也找到了 Health 插件,但要让它在 android 设备上运行,似乎需要付出很多努力(例如,用户需要下载 Google Fitness 应用程序,登录等)。

即使 ionic 应用程序未运行,是否有人有明确的解决方案来计算步数? (我在 iOS 和 android 上都需要它,但如果我需要以两种方式实现它,这不是问题,每种方式不同。)

先谢谢你, 一个非常失望的谷歌员工。 :/

最佳答案

事实证明,这对于ionic来说是一个非常困难的问题。 您正在寻找的是始终运行的后台服务。不幸的是,没有直接的方法可以在 Ionic 中创建后台服务。

为什么?因为您的应用程序是用 Javascript 编写的,并且您的代码在具有 webview 的 Activity 中运行。一旦您退出您的应用程序,它就会被暂停。

这可以通过使用 ionic 插件来避免 Ionic Native Background Mode .此插件可帮助您的应用程序保持打开状态(在后台),即使用户关闭它也是如此。因此,结合后台模式和计步器,即使应用程序关闭(并进入后台模式),您也可以跟踪步数。但请注意,这意味着您的应用在技术上仍在运行,这意味着在 Android 中,用户将收到一条消息,表明应用正在后台执行繁重的任务。在 iOS 上,这通常会导致应用被应用商店拒绝。

存储步骤:要存储步骤,您应该使用 Ionic Native Storage Plugin .即使应用关闭,这也会保留数据。

Android 可能只有一个选择:使用 Android 后台服务,这有助于保持应用程序在后台作为服务打开,仅执行特定任务。 iOS 是一个完全不同的问题:如果应用程序使用 voip、音频、位置、报亭,它们只能在后台运行。即便如此,他们也不会完全自由地做任何事情。

希望这对您有所帮助,尽管这不是好消息。

关于android - ionic 项目背景中的计步器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51861402/

相关文章:

cordova - PhoneGap 移动应用中的 Firebase URL 安全性

ios - 找不到模块 'simple-plist'

android - 如何向 Firebase 身份验证添加额外字段?年龄和性别

java - 如果从最近删除应用程序,接收器不会被调用

java - Android ViewGroup 崩溃 : Attempt to read from field 'int android.view.View.mViewFlags' on a null object reference

objective-c - Sqlite3 表主键被替换

android - JQM, Android 2.3, 密码输入框错误叠加

android - 我的 Android Studio 无法识别我的智能手机

ios - 快速从 FIREBASE_REF block 内关闭 vc Controller

ios - 如何让 AdMob 置顶?