相关疑难解决方法(0)

Flutter:如何永久注册传感器(并且永远不会取消注册?)

TL;DR 如何让 Android 传感器永久运行/活动/注册我的应用程序,即使我关闭它?

目标:
我正在制作一个 Flutter 应用程序,它使用计步器包来计算您的步数, 该包
使用Android 的内置传感器,TYPE_STEP_COUNTER返回自上次启动(iOS)以来所采取的步数。在 Android 上,安装应用程序之前执行的任何步骤均不计算在内。

我是如何实现的:

  • 当应用程序在前台主动运行时,每一步都会导致 amyStepCount加 1。
  • 在所有其他情况下(手机锁定,进入主屏幕,关闭应用程序...),AndroidTYPE_STEP_COUNTER传感器应该仍然在后台运行stepCount,一旦我再次打开我的应用程序,新的和上次保存的stepCount(保存的)之间的差异使用shared_prefs)将被计算并添加到myStepCount.

重要提示:即使在我锁定手机、转到主屏幕或关闭应用程序之后,
传感器TYPE_STEP_COUNTER也必须在后台永久运行/保持注册状态...

观察结果:

  • 在我的三星 Galaxy A02s 上,我的应用程序运行得非常好,正如它所预期的那样(如上所述)。这是因为我在那部手机上还安装了 Google Fit 应用程序,它可以 24/7 跟踪您的步数(因此传感器 TYPE_STEP_COUNTER已永久注册)。
  • 在我的 Samsung Galaxy S7 上,我的应用程序无法按预期运行。 myStepCount当应用程序在前台运行时采取步骤时,该值会增加。但是,一旦我再次打开应用程序,就不会添加关闭myStepCount应用程序时采取的步骤。
    注意:我的这款手机上没有任何其他计步应用程序(例如 Google Fit)。

结论:
我需要找到一种方法从我的 Flutter 应用程序注册TYPE_STEP_COUNTER传感器,并在关闭应用程序后保持其注册状态。

2 尝试过(但不成功)的解决方案:

第一次尝试: …

android-sensors sensormanager flutter pedometer flutter-method-channel

6
推荐指数
1
解决办法
1376
查看次数