2017-07-05 24 views

答えて

0

Windows PhoneアプリケーションでSIM MSISDN & 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へのアクセスをリクエストすることができます。

CurrentDeviceInformationを取得するには、MobileBroadbandModemクラスを使用できます。以下は、コアコードです。

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にアップロードしました。チェックしてください!

+0

windows.networking.networkoperatorsのリファレンスはどのように入手できますか? –

+0

['Windows.Networking.NetworkOperators'](https://docs.microsoft.com/en-us/uwp/api/windows.networking.networkoperators)名前空間を直接使用することができます! –

+0

私はコード内でMobileBroadbandModemクラスにアクセスできません。私は これをPackage.appxmanifestに追加しました。しかし、私はVS2013を使用しており、Windowsの電話機8.1のアプリケーションを作成しています –

関連する問題