【问题标题】:Get the universal app (windows phone) information获取通用应用(windows phone)信息
【发布时间】:2015-07-12 22:23:57
【问题描述】:

有没有办法提取在 Windows Phone 8.1 (WINRT) 通用应用程序的设置|关于中显示的相同信息?

我已经用谷歌搜索了一段时间,但无济于事,我想知道是不是因为我在模拟器中运行它。

出于好奇,我有兴趣检查我可以从设备中提取哪些信息,但我真的希望能够提取名称(如“电话信息”下方的第一行所示)标题)。

我尝试了以下方法:

Windows.System.UserProfile.UserInformation.GetFirstNameAsync();
Windows.System.UserProfile.UserInformation.GetFirstNameAsync();
Windows.System.UserProfile.UserInformation.GetDisplayNameAsync();
...

我还尝试了以下方法:

Windows.Devices.Enumeration.DeviceInformation.

并遍历所有返回的项目(即 113),但它没有提供与 About|Setting|User Information 真正相关的任何内容。

我在模拟器中直接在手机上运行了上述内容,但所有 UserInformation 函数都返回空白值。

有什么想法吗?

谢谢。

【问题讨论】:

    标签: c# windows-runtime windows-phone-8.1 win-universal-app


    【解决方案1】:

    您无法真正获得这些(尤其是通过电话)。如果您查看相关的 MSDN 页面,您可以看到:

    https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.userprofile.userinformation.aspx - 例如GetLastName 方法备注包含:“隐私设置可以阻止访问用户的姓氏(例如,如果 UserInformation::NameAccessAllowed 属性为 false)。如果访问被阻止,此方法返回一个空字符串。”

    此外,DeviceInformation 类更多地用于查找连接到 PC 的设备(例如:如打印机助手应用程序):https://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.enumeration.deviceinformation

    【讨论】:

    • 识别手机的最佳方法是什么?我这样做是为了审计目的,我想记录哪些“设备”已登录或尝试登录?理想情况下,我想显示与设备关联的用户名,但如果有其他方式,我不介意检查一下,即 IP 地址、IMEI、其他?
    • 您可以由此生成唯一的硬件 ID:Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null)
    • 如前所述,这将用于审计目的,因此拥有 IMEI 或唯一的硬件 ID 对我来说几乎没有用处。这可能是唯一的解决方案,但除非用户之前已在该特定硬件密钥下注册了他/她的用户,否则我们将无法判断谁尝试登录,尤其是登录失败时。还有其他建议吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多