Flutter使用android_intent_plus调用Zebra DataWedge API报错求助
Flutter调用Zebra DataWedge API报错解决
核心错误原因
你当前代码用AndroidIntent.launch()方法尝试启动Activity,但DataWedge API是通过广播Intent接收命令的,并非启动Activity,所以系统找不到能处理该Intent的Activity,才抛出ActivityNotFoundException。
修正后的代码
把launch()替换为sendBroadcast(),这是发送广播的正确方式:
floatingActionButton: FloatingActionButton( onPressed: () async { AndroidIntent intent = const AndroidIntent( action: 'com.symbol.datawedge.api.ACTION', arguments: <String, dynamic>{ 'com.symbol.datawedge.api.SWITCH_TO_PROFILE': "aztdemo2", }, ); // 发送广播而非启动Activity await intent.sendBroadcast(); }, ),
关于Profile的疑问
你提到的Profile配置是需要的:必须确保设备的DataWedge里已经创建并启用了名为aztdemo2的Profile,否则切换命令不会生效,但这不是当前报错的原因。当前报错完全是因为Intent的发送方式错误。
额外注意事项
- 确认设备已安装并启用DataWedge应用
- 若运行在Android 12及以上版本,无需额外权限即可发送广播给DataWedge,但需保证DataWedge处于活跃状态
内容的提问来源于stack exchange,提问作者TronComputers
相关产品推荐
相关产品推荐

