none
WP8.1 RT 利用EasClientDeviceInformation获取设备id的时候总会抛异常 RRS feed

  • 问题

  • EasClientDeviceInformation systemInformation = new EasClientDeviceInformation(); 

    args.Add("DeviceUniqueId", systemInformation.Id.ToString());


    总会抛出System.NotImplementedException异常 为什么?

    测试机型是Lumia1520

    2014年10月21日 3:08

答案

  • 我看了下文档,的确是不可以的: Id | id property, 文档里面说不支持WP,测试之后也是一样的:

    这样为了获取WP8.1的DeviceID,你可以通过如下办法获取:

            private string GetDeviceID()
            {
                HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
                IBuffer hardwareId = token.Id;
            }
    想要了解更多,请参考文章: Guidance  on using the App Specific Hardware ID (ASHWID) to implement per-device app logic

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    • 已标记为答案 Simpfy 2014年10月22日 9:07
    2014年10月22日 7:47
    版主

全部回复

  • 你好 Simpfy,

    args是什么?有完整的代码可以提供给我们看看吗?一般来说NotImplementedException是某些代码没写全或者自动生成代码的时候忘了注释Throw Exception那一句话。

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2014年10月22日 3:29
    版主
  • 你好 args就是一个字典

    var args = new Dictionary<string, string>();

    EasClientDeviceInformation systemInformation = new EasClientDeviceInformation(); 

    args.Add("DeviceUniqueId", systemInformation.Id.ToString());

    这是完整的代码

    2014年10月22日 5:33
  • var args = new Dictionary<string, string>();

    EasClientDeviceInformation systemInformation = new EasClientDeviceInformation(); 

    args.Add("DeviceUniqueId", systemInformation.Id.ToString());

    这是完整的代码

    2014年10月22日 5:33
  • 我试过 仅仅是单纯的调用也不可以。只要我尝试获取这个id就会失败
    2014年10月22日 5:35
  • 我看了下文档,的确是不可以的: Id | id property, 文档里面说不支持WP,测试之后也是一样的:

    这样为了获取WP8.1的DeviceID,你可以通过如下办法获取:

            private string GetDeviceID()
            {
                HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
                IBuffer hardwareId = token.Id;
            }
    想要了解更多,请参考文章: Guidance  on using the App Specific Hardware ID (ASHWID) to implement per-device app logic

    --James


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    • 已标记为答案 Simpfy 2014年10月22日 9:07
    2014年10月22日 7:47
    版主
  • 谢谢 您辛苦了
    2014年10月22日 9:06