我试图将Android应用程序移植到Windows 10 uwp.在Android上很简单:启动完成后,启动应用服务.它通过互联网连接到控制器,获取系统状态和所有数据(温度传感器,泵,阀门等)并将所有内容保存在内存中.前台应用程序可以在服务获取数据后立即获取数据并实时显示值,图表.关闭前台应用程序后,服务继续工作,我仍然拥有所有系统状态,如果需要我可以播放警报声.
可以在Windows 10 uwp上执行[几乎]相同的功能吗?我找不到用Windows启动服务的方法.前台应用程序关闭时,前台应用程序启动的服务将停止. SocketBackgroundTask保持连接完美,但系统状态随服务而丢失.我应该在每次续订后将系统状态保存到文件并分析所有数据吗?数据流量从10分钟一次变化到每秒10次左右.
或者我应该忘记Windows 10作为有限的平台?
谢谢
解决方法:
我正在设计一个类似的传感器控制软件,我发现UWP / Win10是限制性的.我们最终使用Assigned Access将应用程序永久保留在前台.
分配访问权限
分配的访问权限会将应用分配给帐户.因此,当Bob先生登录时,应用程序将全屏启动,并且无法关闭,如果崩溃,则会重新启动.
请注意,访问系统其他部分的唯一方法是按ALT-CTRL-DEL并以其他用户身份登录.对某些人来说这可能是坏事,但如果你正在进行关键的流程监控,那么用户不会搞乱系统或退出应用程序可能是一件好事.
它实现起来也很简单,你只需要在应用程序清单中添加一个声明,你需要Win10 Pro或更高版本.
Windows IoT
您还可以查看Windows 10 IoT,当您向其部署应用程序时,它几乎完全相同.然而,硬件的范围非常有限,其中许多还没有完全发挥作用 – RPi的SD卡本身就不可靠,缺乏图形加速. Dragonboard缺少对720p等以外分辨率的驱动程序支持.https://developer.qualcomm.com/forum/qdn-forums/hardware/iot-development-platform/29652
扩展执行
此外,我们已经尝试使用扩展执行,这使得应用程序可以无限期地以最小化状态运行.我对此感到好奇.虽然应用程序将在大多数时间保持运行,但如果操作系统正在努力争取资源,应用程序将被暂停,并且在用户切换回它之前不会重新启动.