在为 Garmin Fenix 3 开发表盘时,我发现需要使用 MM/DD 或 DD/MM 格式显示日期。
API 不允许为自定义表盘保存设置,因此唯一的方法是使用一些系统属性......我无法在 API 文档中找到。
另一方面,一旦连接到iPhone,就可以访问手表设置,其中有日期格式设置,所以必须有一些东西。
感谢您提供有关如何处理此问题的任何帮助或提示。提前致谢。
在为 Garmin Fenix 3 开发表盘时,我发现需要使用 MM/DD 或 DD/MM 格式显示日期。
API 不允许为自定义表盘保存设置,因此唯一的方法是使用一些系统属性......我无法在 API 文档中找到。
另一方面,一旦连接到iPhone,就可以访问手表设置,其中有日期格式设置,所以必须有一些东西。
感谢您提供有关如何处理此问题的任何帮助或提示。提前致谢。
诚然,API 缺少检查用户对日期格式的偏好的方法。Garmin 自己的表盘似乎通过完全省略月份而仅显示“MON 12”来解决此问题。
我会看看用户的时间设置。如果她使用 24H 时钟,我会说假设她希望看到 DD/MM 格式是很安全的。或者,更进一步,可能会分配一个从几个设置中扣除的“分数”:
function getMonthFormat () {
var score = 0;
var settings = System.getDeviceSettings();
if(settings.distanceUnits == System.UNIT_METRIC) score++;
if(settings.paceUnits == System.UNIT_METRIC) score++;
if(settings.temperatureUnits == System.UNIT_METRIC) score++;
if(settings.weightUnits == System.UNIT_METRIC) score++;
// 2/4 should be a safe assumption
if(score >= 2) {
return "ddmm"; // or whatever
} else {
return "mmdd";
}
}
SDK 提供的设置功能可用于允许用户指定要使用的格式。程序员指南中有如何使用应用程序设置的示例。