You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Pedometer包示例运行异常:无法获取步数求助

Pedometer包显示“Step Count not available”问题排查

问题背景

搭建仅包含pedometer: ^3.0.0依赖的空白Flutter应用,使用官方示例代码编译无报错,但应用内显示Step Count not available。Flutter环境正常,设备为三星Galaxy A10(One UI 3.1、Android 11、谷歌系统更新至2021年4月),且其他Flutter库可正常工作。ChatGPT判断:Flutter pedometer包应该兼容该设备。

排查与解决步骤

1. 确认并申请运行时权限

Android 10(API 29)及以上版本需要ACTIVITY_RECOGNITION权限才能访问计步传感器,部分设备即使Manifest中配置了权限,仍需动态申请:

  • 在android/app/src/main/AndroidManifest.xml中添加权限声明:
    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
    
  • 在Flutter代码中添加动态权限请求逻辑(可借助permission_handler包),确保用户授权后再初始化计步监听。

2. 验证设备硬件传感器可用性

  • 打开设备自带的计步器应用,确认是否能正常统计步数。如果系统计步器也无法工作,说明是设备硬件传感器故障或被禁用。
  • 进入设备“开发者选项”,查看传感器列表中是否存在计步器(Step Counter)或步数检测器(Step Detector),若不存在则设备不支持该硬件功能。

3. 检查传感器唤醒状态

部分设备的计步传感器在休眠或后台状态下会被关闭,尝试:

  • 保持应用在前台运行,同时走动几步,观察步数是否更新。
  • 重启设备后重新测试,排除传感器临时休眠的问题。

4. 尝试调整包版本

当前使用的pedometer: ^3.0.0可能存在兼容问题,可尝试:

  • 降级至2.x版本(如pedometer: ^2.1.0),重新安装依赖并测试。
  • 查看pedometer包的官方issue列表,确认是否有其他用户遇到相同设备的兼容问题。

5. 确认示例代码的传感器监听逻辑

官方示例代码可能默认监听特定传感器类型,若设备不支持该类型则会显示不可用:

  • 检查示例代码中Pedometer.stepCountStream的实现,确认是否同时兼容TYPE_STEP_COUNTER和TYPE_STEP_DETECTOR两种传感器。
  • 尝试手动指定传感器类型进行测试(需修改原生插件代码或使用更灵活的传感器监听方式)。

内容的提问来源于stack exchange,提问作者Milos N.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 18:32:42