我正在爲Windows 10和Xbox One設備上的可用性開發UWP(通用Windows平臺)應用程序。該應用程序是一個single user application。我試圖在運行時確定活動登錄用戶的唯一標識符 - 只是一個沒有任何個人身份信息的ID。 StoreContext class的文檔建議我應該能夠通過檢查User
屬性來確定這個缺省的StoreContext
對象;具體而言,NonRoamableId
屬性似乎是合適的。但是,在任何情況下,我都運行了應用程序(調試,部署,Windows,Xbox),StoreContext的User
屬性始終爲null
。這是預期的嗎?我無法找到任何其他方式來確定此信息。StoreContext用戶屬性在單用戶UWP應用程序中始終爲空
注意:我知道UserWatcher類及其在系統上查詢用戶的方法。然而,我想避免使用此的原因如下:
- 通過使用這些查詢方法暴露於該應用的性質不足以確定哪個
User
是與當前StoreContext
相關聯的一個,這意味着,這樣的解決方案將容易出錯。 - 以這種方式查詢用戶信息會導致權限彈出,這對於應用程序是否需要讀取個人身份信息是有意義的,但由於我只是尋找一個程序化的唯一標識符,所以看起來並不像它應該是必要的。
我正在針對Windows 10 Creators的更新SDK(10.0.15063)進行開發。
編輯2017年11月16日
這看起來可能是一個UWP錯誤,現在是固定的。無需更改代碼,我現在可以在應用啓動時看到一個非空User
對象附加到LaunchActivatedEventArgs
。相應地接受了答案。
您需要關注[this](https://docs.microsoft.com/en-au/windows/uwp/monetize/in-app-purchases-and-trials#testing)才能正常工作。確保您已完成「將應用程序與商店關聯」,並且您只需從商店下載應用程序一次即可安裝有效的許可證。一旦安裝完成,您可以從VS調試您的應用程序,並且用戶不會使用此時的數據填充。 –
謝謝,賈斯汀。不幸的是,在這種情況下,我確信我已經完成了這些說明 - 所有其他StoreContext調用都正常工作(包括相關產品查找,試用許可激活等)。 –
嗯,有趣。我想知道,您的測試帳戶是否爲MSFT帳戶?此外,它可能是因爲*「當沒有特定用戶上下文激活多用戶應用程序時,此屬性返回null」*。請參見[this](https://docs.microsoft.com/en-us/uwp/api/windows.applicationmodel.activation.launchactivatedeventargs)。 –