You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用.NET MAUI列出Zebra设备配置文件?

.NET MAUI获取Zebra设备DataWedge配置列表的正确实现

问题分析

你的代码无法获取配置列表的核心原因:

  • 错误构造并发送了无效的Intent,没有正确触发DataWedge返回配置列表的逻辑
  • 试图在发送的Intent中直接读取返回结果,但DataWedge是通过独立广播返回数据的,不会在原Intent中携带结果

正确实现步骤

1. 注册广播接收器接收返回结果

在MAUI项目的Platforms/Android目录下创建广播接收器类,用于监听DataWedge返回的配置列表:

using Android.Content;
using Android.Runtime;

namespace YourAppNamespace.Platforms.Android;

[BroadcastReceiver(Enabled = true, Exported = true)]
[IntentFilter(new[] { "com.symbol.datawedge.api.RESULT_ACTION" })]
public class DataWedgeProfileReceiver : BroadcastReceiver
{
    public override void OnReceive(Context? context, Intent? intent)
    {
        if (intent == null || !intent.HasExtra("com.symbol.datawedge.api.RESULT_GET_PROFILES_LIST"))
            return;

        // 获取配置列表
        var profileList = intent.GetStringArrayListExtra("com.symbol.datawedge.api.RESULT_GET_PROFILES_LIST");
        if (profileList != null)
        {
            foreach (var profile in profileList)
            {
                Console.WriteLine($"配置文件名称:{profile}");
                // 可在此处将结果传递给MAUI共享代码层
            }
        }
    }
}

2. 修正触发获取配置列表的方法

修改你的zebraprofile_list方法,正确调用DataWedge API:

public void zebraprofile_list() 
{
    const string ACTION_DATAWEDGE = "com.symbol.datawedge.api.ACTION";
    const string EXTRA_GET_PROFILES = "com.symbol.datawedge.api.GET_PROFILES";

    var dwIntent = new global::Android.Content.Intent(ACTION_DATAWEDGE);
    dwIntent.PutExtra(EXTRA_GET_PROFILES, true); // 传入true触发配置列表查询
    _context.SendBroadcast(dwIntent);
}

3. 必要配置

  • 权限声明:在Platforms/Android/AndroidManifest.xml中添加DataWedge访问权限:
    <uses-permission android:name="com.symbol.datawedge.api.permission.ACCESS" />
    
  • DataWedge版本要求:确保设备上的DataWedge版本为6.2及以上,该版本开始支持GET_PROFILESAPI

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:42:20