Windows 10应用程序 - iot systemManagement功能

时间:2016-07-14 13:43:04

标签: c# windows timezone uwp iot

我们有Windows 10应用程序,我们正在尝试更改系统上的时区。

我找到了有关在项目中包含IOT扩展的文档,这将提供基本的系统管理功能。

https://msdn.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations

https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.timezonesettings.changetimezonebydisplayname

到目前为止,我没有获得许可(重启系统,更改时区等),总是获得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添加到项目

2 个答案:

答案 0 :(得分:1)

物联网:正如杰基所说: “不确定它是否会成功。但重点是物联网扩展只适用于Windows IoT设备”

但是,我确实找到了解决方法......

如果有其他人遇到此问题。

我运行了一个可以访问系统设置的本地轻量级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 *即使你有更新的版本必须选择这个工作。

相关问题