获取SIM MSISDN& Windows Phone应用程序中的IMSI编号

时间:2017-07-05 13:35:34

标签: windows-phone-8 windows-phone-8.1 windows-10-mobile

是否可以获得SIM MSISDN& Windows Phone应用程序开发中的IMSI号码?

我已经完成了一些问答,但很久以前他们都被问到了。

1 个答案:

答案 0 :(得分:0)

你可以获得SIM MSISDN& Windows Phone应用程序中的IMSI编号。请注意,您应手动编辑应用程序Package.appxmanifest,如下所示:

<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">

......

<Capabilities>
    <rescap:Capability Name="cellularDeviceIdentity" />
</Capabilities>
  

cellularDeviceIdentity功能允许应用访问蜂窝识别数据。   任何人都可以请求访问这些capabilities商店提交。

您可以使用MobileBroadbandModem类来获取所有CurrentDeviceInformation,以下是核心代码。

using Windows.Networking.NetworkOperators;

......

public IReadOnlyList<SimCard> GetSimCards()
{
    var results = new List<SimCard>();

    var modem = MobileBroadbandModem.GetDefault();
    if (modem == null)
    {
        return results.AsReadOnly();
    }

    var account = modem.CurrentAccount;
    if (account == null)
    {
        return results.AsReadOnly();
    }
    var simCard = new SimCard();
    simCard.ICCID = account.CurrentDeviceInformation.SimIccId;
    simCard.IMSI = account.CurrentDeviceInformation.SubscriberId;
    simCard.MSISDN = modem.DeviceInformation.TelephoneNumbers;

    simCard.MCC = ExtractMCC(simCard.IMSI);
    simCard.MNC = ExtractMNC(simCard.IMSI);
    simCard.MSID = ExtractMSID(simCard.IMSI);

    results.Add(simCard);

    return results.AsReadOnly();
}

我已将code sample上传到git hub。请检查!