我已经添加到WMAppManifest.xml中:
>< Capability Name =“ID_CAP_IDENTITY_DEVICE”/>
>< Capability Name =“ID_CAP_IDENTITY_USER”/>
那么为什么要继续获得空字符串:
public static string GetWindowsLiveAnonymousID() { int ANIDLength = 32; int ANIDOffset = 2; string result = string.Empty; object anid; if (UserExtendedProperties.TryGetValue("ANID",out anid)) { if (anid != null && anid.ToString().Length >= (ANIDLength + ANIDOffset)) { result = anid.ToString().Substring(ANIDOffset,ANIDLength); } } return result; }
它似乎没有处理TryGetValue非常好…有人得到一个线索?
解决方法
It’s called ANID2 in Windows Phone 8.
The UserExtendedProperties API exposes two properties: ANID and ANID2.
ANID can only be accessed from Windows Phone OS 7.0 and Windows Phone OS 7.1 apps that use the Microsoft Advertising SDK for Windows Phone.
ANID2 can only be accessed from Windows Phone 8 apps.