如何在c#中使用Windows Phone 8.1或UWP从Windows Phone获取IMEI和IMSI号码

时间:2017-07-13 05:47:42

标签: c# visual-studio-2015 uwp windows-phone-8.1 uwp-xaml

如何在c#

中使用Windows Phone 8.1或UWP从Windows Phone获取IMEI和IMSI号码

我使用了TAPIib.dll和OpenNETCF.Telephony.dll,但这两个dll仅用于webforms。请帮助我使用C#

获取Windows Phone设备的IMEI号

How do I find imei number in windows 8.1 phone programmatically? 此链接适用于Windows Phone 8或Windows窗体。 但我们需要Windows Phone 8.1和UWp

有没有办法使用C#

获取Windows Phone 10设备的IMEI号

1 个答案:

答案 0 :(得分:1)

MobileEquipmentId就是你想要的。来自MSDN:

  

对于GSM设备,MobileEquipmentId值将是国际移动设备识别码(IMEI),最长可达15位。对于CDMA设备,MobileEquipmentId值必须是电子服务号码(ESNs0,长度为11位,或移动设备标识符(MEID),长度为17位。

我猜你不知道如何使用这个API。请遵循以下方式:

  1. 右键单击“Package.Appmanifest”,选择“查看代码”,您需要添加限制功能。
  2. 添加xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"和Ignorable Namespaces如下:

    <Package
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
    xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
    xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
    xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
    IgnorableNamespaces="uap mp rescap">
    
  3. 添加cellularDeviceIdentity功能如下:

    <Capabilities>
        <Capability Name="internetClient" />
        <rescap:Capability Name="cellularDeviceIdentity" />
    </Capabilities>
    
  4. 然后,您可以使用以下代码获取IMEI号码:

    var modem = MobileBroadbandModem.GetDefault();
    var imei = modem?.DeviceInformation.MobileEquipmentId;
    
  5. 但是,请注意This functionality is only available to mobile operator apps and Windows Store app given privileged access by mobile network operators.即使您可以在本地测试机器中使用此API。如果要将应用程序发布到Windows应用商店,则需要移动网络运营商进行特权访问。