You need to enable JavaScript to run this app. 使用MLKit PoseDetector开发时出现Invalid model name报错如何解决
优惠活动
大模型
产品
解决方案
定价
更多

使用MLKit PoseDetector开发时出现Invalid model name报错如何解决

问题根源

代码逻辑存在两处不匹配:

  • selectedModel变量的初始化默认值、savedInstanceState恢复默认值均设置为OBJECT_DETECTION
  • bindAnalysisUseCase方法中的switch分支仅处理了POSE_DETECTION的情况,没有对应OBJECT_DETECTION的分支,因此程序走到default分支直接抛出IllegalStateException,对应报错日志中的"Invalid model name"提示。

解决方案

你当前仅需要使用姿势检测器,直接修改默认选中的模型即可:

  1. 修改成员变量的默认值:
// 修改前
private String selectedModel = OBJECT_DETECTION;
// 修改后
private String selectedModel = POSE_DETECTION;
  1. 修改状态恢复的默认值:
// 修改前
selectedModel = savedInstanceState.getString(STATE_SELECTED_MODEL, OBJECT_DETECTION);
// 修改后
selectedModel = savedInstanceState.getString(STATE_SELECTED_MODEL, POSE_DETECTION);

如果后续需要扩展支持物体检测,在switch分支中补充OBJECT_DETECTION对应的处理器初始化逻辑即可。另外你当前代码保留了官方demo中模型切换下拉选择器的OnItemSelectedListener接口实现,如果你的页面已经移除了对应下拉控件,建议删除该接口实现,避免后续误触发逻辑导致报错。

内容的提问来源于stack exchange,提问作者DevJun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 16:36:05