通过使用Microsoft.Phone.Info.DeviceStatus类,我们可以获取设备的一些信息,如设备厂商,设备名称等。通过Microsoft.Phone.Info.DeviceStatus.DeviceName可以获取设备的名称,但是这个名称通常并不是我们熟悉的设备名称,而是该设备标识名称。例如:Lumia520,通过上述接口获取的设备标识是“RM-914_apac_prc_227”,大家对“Lumia520"是比较熟悉,而对于通过接口直接获取的“RM-914_apac_prc_227”确十分的陌生,如果在我们的程序中需要显示设备名称的话,那么我们需要显示像“Lumia520"这样的名称,而不是直接通过API获取的字符串。那么就需要一个转换接口将通过API获取的字符串转换成大家熟悉的设备名称。
国外有大神已经封装了这样一个转换接口,接口名称和下载地址:PhoneNameResolver (https://github.com/ailon/PhoneNameResolver)。需要的童鞋可自行下载,只需要将PhoneNameResolver.cs文件导入现有的项目中。使用示例代码如下:
查看PhoneNameResolver类的代码可以发现,此接口在维护一个对应关系表,当有新设备发布,国外大神会更新此接口,也就意味着使用此接口的项目需要同步更新,否则对应新设备的名称显示将会有问题。