我们有Windows 10应用程序,我们正在尝试更改系统上的时区。
我找到了有关在项目中包含IOT扩展的文档,这将提供基本的系统管理功能。
https://msdn.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations
到目前为止,我没有获得许可(重启系统,更改时区等),总是获得auth异常。
这就是我的尝试:
清单(重要部分):
<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:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10"
IgnorableNamespaces="uap mp iot">
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10586.0" MaxVersionTested="10.0.10586.0" />
<TargetDeviceFamily Name="Windows.IoT" MinVersion="10.0.10586.0" MaxVersionTested="10.0.10586.0" />
</Dependencies>
<Capabilities>
<iot:Capability Name="systemManagement" />
</Capabilities>
</Package>
代码:
Boolean canChange = Windows.System.TimeZoneSettings.CanChangeTimeZone;
Windows.System.TimeZoneSettings.ChangeTimeZoneByDisplayName("(UTC+13:00) Samoa");
引用IOT添加到项目
答案 0 :(得分:1)
但是,我确实找到了解决方法......
如果有其他人遇到此问题。
我运行了一个可以访问系统设置的本地轻量级NancyFX Web服务。从UWP应用程序,我将以这种方式进行api调用并更改系统设置。
请参阅http://nancyfx.org/和自托管示例
此外,如果从边缘调用localhost,则需要设置环回应用程序例外,请参阅https://loopback.codeplex.com/和https://msdn.microsoft.com/en-us/library/windows/apps/hh780593.aspx
之后几乎所有事情都有效。
答案 1 :(得分:1)
旧的威胁,但是当我搜索我的解决方案来解决这个IoT系统管理清单时,我偶然发现了这个问题。我用的是VS2017。我的修复是 手动查看代码包清单。然后添加此行
<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:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10" IgnorableNamespaces="uap mp uap4 iot">
<Capabilities>
<iot:Capability Name="systemManagement"/>
<Capabilities>
*请记住,您只能声明1个功能,所以如果您声明只需添加新功能。
然后使用此代码
在清单中添加功能加上去添加参考 - &gt;扩展选择 适用于UWP版本10.0.10586.0的Windows IoT Extensions *即使你有更新的版本必须选择这个工作。