0 0 投票数
评分

随便折腾一下小米运动健康

我一直以为小米运动健康的运动记录不能显示地图,是因为这个程序不支持海外地图

所以我的解决方案是,在手机上安装国行版的地图,同步数据,然后用 iPhone 也装小米运动健康(iOS 版可以正常加载地图)查看运动轨迹,或者用小米平板装国际版小米运动健康(国际版可以加载地图)查看运动轨迹

但是带多个手机很不方便,所以我想着是不是能够在一个手机上共存

国行版的小米运动健康是 com.mi.health,而国际版的小米运动健康是 com.xiaomi.wearable

那就很方便了,Magisk 或者 MT 随便一搞就共存了

后来无意中发现国行版的小米运动健康有时候是可以加载地图的,有时候是加载出来瞬间又变成白屏

我就觉得有点奇怪

用 Reqable 检查以后,发现不仅请求了 Mapbox 的数据,还请求了高德的数据,我觉得大概是高德的响应带了一些什么东西,覆盖了 Mapbox 的响应

image

abroad-restapi.amap.com 明显就看着是海外地图的意思,但竟然返回了 USER_DAILY_QUERY_OVER_LIMIT

不知道小米的工程师有没有好好测试

image

屏蔽掉这个 amap 的请求之后,手机上也可以正常加载海外地图了,一切正常

不过一段时间之后,大概十几秒或者半分钟,依然会白屏,猜测是 amap 请求超时之后回退到了一样的处理逻辑上

但这不重要,如果我要看的话,甚至要导出分享的话,十几秒已经足够我完成操作了,那么也没必要继续去改太多的东西,直接屏蔽 abroad-restapi.amap.com 这个请求就好

本来想搞一个 Magisk Module,因为这东西肯定不能简单地 /etc/hosts,那样会直接返回失败,从而加速白屏,而是让这个请求消失,还是有点麻烦

后来发现直接找个广告拦截模块,写一条自定义规则 ||abroad-restapi.amap.com^$important,app=com.mi.health 拦截这个请求就好了

0 0 投票数
评分
发表留言
订阅评论
提醒
guest

在点击发表评论按钮时,网络请求的数据包含浏览器版本、操作系统版本和 IP 地址;您的网络服务提供商、雇主或学校、政府机构可能会看到您的访问活动;根据浏览器默认行为、操作系统设置和安全防护软件的设置不同,您的浏览器可能会也可能不会在本地 Cookies 缓存您输入的用户名、邮箱以便下次评论使用。

请对自己的言行负责。

您想以什么身份发表评论
邮箱将在您的评论被回复时给您通知
(可选)如果您也有个人网站,不妨分享一下
我对这篇文章的评分
这篇文章给您带来多大帮助
0 评论
内联反馈
查看所有评论