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

Zebra设备Android 11环境下Xamarin Forms获取MAC地址方案咨询

针对Zebra Android 11设备的硬件标识方案

结合你的场景(关联自有数据库与AirWatch设备、Android 11 MAC地址限制),以下是稳定可行的替代方案:

1. Zebra设备序列号(Serial Number)

这是首选方案,序列号是设备出厂固化的唯一标识,AirWatch默认收集该字段,且Android 11无权限限制。

代码实现(Zebra EMDK):

var enterpriseDeviceManager = EMDKManager.Instance.GetInstance(EMDKManager.FEATURE_TYPE.DEVICE);
string serialNumber = enterpriseDeviceManager.DeviceInfo.SerialNumber;

若未集成EMDK,可尝试读取系统属性(Zebra企业应用通常有权限访问):

string serialNumber = Android.OS.Build.Serial;

2. IMEI/MEID(仅蜂窝版设备)

带蜂窝模块的Zebra设备可使用IMEI/MEID,全球唯一且AirWatch自动同步,需申请READ_PHONE_STATE权限。

代码实现:

// 通过TelephonyManager获取
var telephonyManager = (TelephonyManager)GetSystemService(TelephonyService);
string imei = telephonyManager.Imei;

// 或通过EMDK获取
var enterpriseDeviceManager = EMDKManager.Instance.GetInstance(EMDKManager.FEATURE_TYPE.DEVICE);
string imei = enterpriseDeviceManager.DeviceInfo.Imei;

权限声明:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

AirWatch部署时可配置自动授予该权限。

3. Zebra专属硬件UUID

EMDK提供的设备UUID基于硬件生成,不会因系统重置或升级改变,可通过AirWatch自定义属性同步至平台。

代码实现:

var enterpriseDeviceManager = EMDKManager.Instance.GetInstance(EMDKManager.FEATURE_TYPE.DEVICE);
string deviceUuid = enterpriseDeviceManager.DeviceInfo.Uuid;

选型建议

  • 优先用设备序列号:无需额外权限,兼容性最强,AirWatch默认支持。
  • 蜂窝设备可选IMEI:唯一性更有保障。
  • 避开Android ID:恢复出厂会重置,无法稳定关联。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:35:16