我创建了一个启动服务的应用程序,它启动一个计时器,在一段时间后触发一个小函数.这在模拟器和Motorola Droid 1上运行得很好,但是当手机进入睡眠模式时,它在Droid X上不起作用.我发现的是,当手机处于睡眠状态时,计时器似乎会暂停.它似乎没有在Droid 1或模拟器上执行此操作.我确定解决方法并不太难,所以我不是要求帮助(一次)我只想要一个解释,以便更好地理解这一点.
我的问题是什么"睡眠模式" 在Android系统上做了什么?什么是停止,什么不停止,等等.睡眠模式我的意思是,当你按下电源按钮,屏幕变黑.究竟发生了什么?任何见解都表示赞赏.
我做了一个iphone健身应用程序.我无法解决的问题是,当应用程序运行时,iphone进入睡眠模式,因此加速计和声音关闭.我不想发生这种事.
无论如何我可以避免这种情况发生吗?如果不是这样,至少我可以增加我的iPhone进入睡眠模式的时间.
关心Zeeshan
我正在编写一个取决于网络活动的Android应用程序,警报管理器有时会将手机从睡眠状态唤醒.
我的问题是如何在设备上可靠地测试?理想情况下,我如何强制手机进入全开睡眠状态.如果做不到这一点,我怎么能确定电话完全进入睡眠状态?
如何测试警报管理器/唤醒锁定/睡眠处理代码?
是否可以订阅Windows进入或退出睡眠或休眠状态时触发的Windows事件?
我需要让我的应用程序在计算机进入睡眠状态时进行清理并避免在睡眠时出现计时问题.
我正在搜索SO和网络,但我找不到足够的答案来解决我的问题.好的,我们走了:
每个用户都可以在android上修改屏幕超时.(当屏幕空闲__秒/分钟时关闭屏幕 - 用户选择).但是用户只能修改屏幕超时,而不能在设备实际进入睡眠状态时修改.我在这里发现当设备进入睡眠状态时会发生什么:( CommonsWare非常好的答案)Android睡眠/待机模式
好的,我的问题很简单.我怎么知道我的手机何时会入睡?关闭屏幕后会立即进入睡眠状态吗?屏幕关闭后它会保持"清醒"一段时间吗?最重要的是:特定设备的睡眠模式是否与品牌设备不同(制造商如何实施)或者取决于ROM版本(例如,所有ICS供电设备将在屏幕关闭后X秒进入睡眠状态)?
我有一个应用程序,我通过WiFI发送网络数据.一切都很好,直到我关闭显示器或设备进入"睡眠"状态.我已经锁定了WiFi,但似乎是在睡眠时CPU速度下降导致流式传输不正常的情况(即数据包的流速不如我想的那样快设备没有睡觉).
我知道我可能/可能应该在协议级别解决这个问题,但这可能也不可能 ......
有没有办法 "在屏幕关闭时防止CPU进入'睡眠'"?如果是这样,怎么样?如果没有,关于如何保持WiFi流的速度的任何建议是否一致,无论设备是否处于睡眠模式?
我想将设备发送到睡眠状态或关闭屏幕.我调查过并发现了这个主题:在Android上关闭屏幕
基本上,有三种方法可以做到,但我发现三者有问题:
a)选择1:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(int amountOfTime);
Run Code Online (Sandbox Code Playgroud)
问题:它导致FC.我已阅读我需要DEVICE_POWER权限,但无法为普通应用授予权限.
b)选择2:
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
Run Code Online (Sandbox Code Playgroud)
问题:这对我不起作用.我不知道为什么.它不会给我一个FC,但它是无害的.
c)选择3:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
Run Code Online (Sandbox Code Playgroud)
问题:我可以让它工作但是当试图打开设备它会做一些奇怪的事情,比如不喜欢返回,或者如果我的应用程序在前面,按下按钮后自动进入睡眠状态.与普通解决方案相比,这看起来更像是提示或解决方法.
任何人都可以告诉我任何好的方法来发送设备进入睡眠或关闭屏幕,可以运行没有问题吗?对我来说这样一个简单的功能并不是一个好的方法来使用它(或者至少有详细记录)
有一个桌面应用程序使用Thread.sleep()来实现长(数分钟或数小时)的延迟。从Windows XP(至少)到Windows 7,该应用程序都可以正常工作。该应用程序将计算将来需要执行的操作,然后单击Thread.sleep(msToWait)。即使系统在等待期间碰巧进入了S3睡眠状态,这也可以正常工作。
但是,从Windows 10开始,如果机器位于S3中,则Thread.sleep()之后的代码不会“按时”执行。看来机器开始在“ msToWait”处加上机器进入S3的时间开始执行代码(目前尚不能百分百确定,但有可能)。
Windows的早期版本没有表现出这种现象。不管睡眠状态如何,Thread.sleep()之后的代码都会等待正确的时间。
测试是在当前的JVM 1.7上进行的。
这是Windows 10错误吗?这是JVM错误吗?有解决方法吗?
附加数据:
开发了测试程序和程序。步骤是运行程序,使机器休眠约一分钟,然后唤醒机器并等待程序完成。
如果此程序在JVM版本为25.40-b25的Windows 10(报告为8)上运行,它将失败:
C:\Users\Tester\Downloads>SleepTester.exe
Wed Apr 01 10:47:35 PDT 2015 Using default number of minutes: 5
Wed Apr 01 10:47:35 PDT 2015 You can use "SleepTester -minutes 10" to have it sleep for 10 minutes, for example.
Wed Apr 01 10:47:35 PDT 2015 JVM Version: 25.40-b25 Windows Version: Windows 8
Wed Apr 01 10:47:35 PDT 2015 The program will now wait for 5 minutes. Expect wrap-up at Wed …Run Code Online (Sandbox Code Playgroud) 如何在不使用不同操作系统(Ubuntu、Windows ...)上的额外应用程序的情况下防止 python 上的睡眠模式,但在大多数情况下我需要 Linux 解决方案
我正在制作可以长时间工作的应用程序。它使用了大约 80% 的 CPU,因此用户只需启动此应用程序即可离开键盘。所以我想我需要一些类似系统 api 或库来锁定睡眠模式的东西。我确信,它存在。例如,如果您在操作系统上打开任何视频播放器,您的(PC、笔记本电脑)将不会进入睡眠模式,在浏览器中也是如此。
此外,在 Android ( WakeLock ) 或 Windows (SetThreadExecutionState) 中也有同样的事情
sleep-mode ×10
android ×5
windows ×3
android-wifi ×1
c# ×1
cpu-speed ×1
ios ×1
iphone ×1
java ×1
linux ×1
objective-c ×1
python ×1
python-3.x ×1
standby ×1
throttling ×1
windows-10 ×1
windows-8 ×1
xcode ×1