【问题标题】:Unattended Mode changes to Suspend after one minute一分钟后无人值守模式更改为挂起
【发布时间】:2012-11-28 15:04:48
【问题描述】:

在我的应用程序(C#、.Net CE 3.5、WM 6.5)中,我有一个与 Web 服务同步的线程。如果设备进入空闲模式,我希望线程继续运行。所以我使用一些 Windows CE API,以无人值守模式运行我的线程,并在此过程中保持 WiFi 开启。 (来自here 的 API)。这完美地工作并且系统进入待机状态而不是挂起并且使用WiFi运行的线程处于打开状态。但在待机 1 分钟后,设备进入暂停模式并停止执行。

Win32.CoreDLL.PowerPolicyNotify(Win32.PPNMessage.PPN_UNATTENDEDMODE, -1);
IntPtr wifiHabdle= Win32.CoreDLL.SetPowerRequirement(wifiDeviceName,  CEDEVICE_POWER_STATE.D1, DevicePowerFlags.POWER_NAME | DevicePowerFlags.POWER_FORCE, IntPtr.Zero, 0);

//Connect to web service and do jobs ...

Win32.CoreDLL.ReleasePowerRequirement(wifiHabdle);
Win32.CoreDLL.PowerPolicyNotify(Win32.PPNMessage.PPN_UNATTENDEDMODE, 0);

当我更改设备上的电源配置并将“如果设备未使用时关闭屏幕”设置为 2 分钟,无人值守模式将在 2 分钟后暂停。 (奇怪的关系)。如何强制设备保持无人值守模式
只要我打电话PowerPolicyNotify(Win32.PPNMessage.PPN_UNATTENDEDMODE, 0)

【问题讨论】:

标签: c# .net windows-mobile windows-ce power-management


【解决方案1】:

AFAIK 您还需要为您的应用程序使用 SetPowerRequirement 和/或定期使用 SystemIdleTimerReset:http://www.brianpeek.com/category/Windows-Mobile

虽然过去我没有成功使用 SystemIdleTimerReset,而是将电池电源管理的超时更改为永不挂起并直接控制电源需求(请求无人值守模式)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多