windows phone 应用程序如何获得手机的IMEI码

来源:互联网 发布:051级驱逐舰知乎 编辑:程序博客网 时间:2024/04/30 15:14

转自:wp imei

由于WP8SKD不提供获取机子IMEI的方法,所以无法得到机子IMEI,但是SDK提供一另一个获取唯一ID的方法,在Microsoft.Phone.Info.DeviceExtendedProperties里面的DeviceUniqueId。

  通过这个方法可以获得.

参考 wp8sdk有关DeviceExtendedProperties Class的部分。

public static String GetDeviceUniqueID()
        {
            object DeviceUniqueID;

            byte[] DeviceIDbyte = null;

            if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId"out DeviceUniqueID))

                DeviceIDbyte = (byte[])DeviceUniqueID;

            string DeviceID = Convert.ToBase64String(DeviceIDbyte);

            return DeviceID;
        }

  但是为了更加保险,推荐加上用户的Windows Live ID一起保存,这样绝对是唯一的了。



DeviceExtendedProperties 类

1(共 1)对本文的评价是有帮助 评价此主题

2013/3/11

允许应用程序获取有关其运行的设备的信息。

继承层次结构

System.Object
  Microsoft.Phone.Info.DeviceExtendedProperties

Namespace:  Microsoft.Phone.Info
程序集:  Microsoft.Phone(位于 Microsoft.Phone.dll 中)
语法

C#
VB
声明Public NotInheritable Class DeviceExtendedProperties

DeviceExtendedProperties 类型公开以下成员。

方法

 名称说明公共方法静态成员GetValue检索表示指定的设备属性的对象。公共方法静态成员TryGetValue检索表示指定的设备属性的对象。返回顶部
备注

警告说明警告:

在 Windows Phone OS 7.0 中,此类被用来查询特定于设备的属性。在 Windows Phone OS 7.1 中,DeviceExtendedProperties 的大多数属性已弃用,而应改用新的DeviceStatus 类。但是,在适当时,您仍然可以使用以下任何未弃用的属性。

下表列出了可以使用此方法查询的可用属性。

属性名

值类型

说明

ApplicationCurrentMemoryUsage

一个长整型值。

当前应用程序的内存使用量,以字节为单位。

此属性已被弃用。请改用 ApplicationCurrentMemoryUsage 属性。

ApplicationPeakMemoryUsage

一个长整型值。

当前应用程序的高峰内存使用量,以字节为单位。

此属性已被弃用。请改用 ApplicationPeakMemoryUsage 属性。

ApplicationWorkingSetLimit

一个长整型值。

工作集限制(以字节为单位)。

此属性应用于 Windows Phone OS 7.1 及更高版本。

DeviceFirmwareVersion

一个字符串。

设备上运行的固件版本。该版本与可使用 System.Environment 检索的操作系统版本不同。建议该值为可以以System.Version 结构的形式进行分析的字符串,并且当安装新固件时,该字符串按逻辑方式递增,但这不是必需的。该值可以为空。

此属性已被弃用。请改用 DeviceFirmwareVersion 属性。

DeviceHardwareVersion

一个字符串。

设备上运行的硬件版本。该版本与可使用 System.Environment 检索的操作系统版本不同。建议该值为可以以System.Version 结构的形式进行分析的字符串,并且当发布新硬件时,该字符串按逻辑方式递增,但这不是必需的。该值可以为空。

此属性已被弃用。请改用 DeviceHardwareVersion 属性。

DeviceManufacturer

一个字符串。最多 256 个字符。

设备制造商的名称。该字符串没有标准格式。建议对同一制造商的设备使用相同的值,但不强制这样做。该值可以为空。

此属性已被弃用。请改用 DeviceManufacturer 属性。

DeviceName

一个字符串。最多 256 个字符。

设备的名称。该字符串没有标准格式。该值可以为空。

此属性已被弃用。请改用 DeviceName 属性。

DeviceTotalMemory

一个长整型值。

设备的物理 RAM 大小,以字节为单位。该值将小于设备内存的实际数量,但可以用于确定内存占用要求。

此属性已被弃用。请改用 DeviceTotalMemory 属性。

DeviceUniqueId

字节数组。长度为 20 个字节。

设备的唯一哈希。对于所有应用程序,该值都将保持不变,并且如果用新版本的操作系统更新手机也不会更改。应用程序不应使用该值来标识用户,因为即使设备的所有权发生了转移,设备 ID 也将保持不变。

IsApplicationPreinstalled

布尔值。

指示该应用是否与设备图像一起进行预安装。从 Windows Phone 商店 下载的应用将总是返回值 false。

OriginalMobileOperatorName

一个字符串。

一个字符串代表移动运营商的名称。

功能

如果您在应用中使用此 API,您必须在应用清单中指定下列功能。否则,您的应用可能无法正常工作,或可能意外退出。

ID_CAP_IDENTITY_DEVICE

Windows Phone 8, Windows Phone OS 7.1

有关更多信息,请参见 Windows Phone 应用的功能和硬件要求。

版本信息

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0
平台

Windows Phone

线程安全

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
另请参见

参考

Microsoft.Phone.Info 命名空间