首页 > 解决方案 > Tizen Web App: readRecorderData TypeError: 'undefined' is not a function

问题描述

我正在为 Gear Fit2 开发 Tizen Web 应用程序,当我调用“readRecorderData”函数时出现“类型错误:undefined is not a function (tizen.humanactivitymonitor.readRecorderData(type, query, onread, onerror)”错误人类活动 API。但是,当我调用同一 API 的“启动”函数时,它可以完美运行。

我将 healthinfo 和位置权限放入我的 config.xml:

<tizen:privilege name="http://tizen.org/privilege/healthinfo"/>
<tizen:privilege name="http://tizen.org/privilege/location"/>

希望大家能帮忙。谢谢。

我使用了我的代码示例:

var type = 'PEDOMETER';
var now = new Date();
var startTime = now.setDate(now.getDate() - 7);
var anchorTime = (new Date(2018, 1, 2, 6)).getTime();
var query = {
  startTime: startTime / 1000,
  anchorTime: anchorTime / 1000,
  interval: 1440 /* 1 day */
};

try { tizen.humanactivitymonitor.readRecorderData(type, query, onread, onerror); } 
catch (err) { console.log(err.name + ': ' + err.message); }

标签: javascripttizensamsung-gear-fit

解决方案


原因是您的设备在 2.3.1 或低于 Tizen OS 版本上运行。

查看 API 参考文档中的 readRecorderData(): 从 2.3.2开始

如果您使用 2.3.2(或更高版本)tizen 版本创建项目并部署在 Tizen 设备或在 tizen 2.3.2(或更高版本)上运行的模拟器上,则此错误将消失。

但是对于您的情况,tizen 2.3.2 支持 HRM Recorder,因此您无法使用它。尝试不同的解决方法,例如手动将传感器数据存储在本地存储或文件系统中。


推荐阅读