- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
Android 上有 WakeLock
和 WifiLock
-- 但如果我的屏幕从不关闭,我需要这些吗?
我正在使用持久连接(例如 WebSockets)数十分钟甚至数小时。我的屏幕始终亮着是否足以防止设备丢失这些连接(如果我们假设连接仍然可用且服务器正常)?
为了让屏幕保持打开状态,我使用标准方式:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
文档是怎么说的:
To avoid draining the battery, an Android device that is left idle quickly falls asleep.
( https://developer.android.com/training/scheduling/wakelock.html )
Normally the Wi-Fi radio may turn off when the user has not used the device in a while.
( http://developer.android.com/reference/android/net/wifi/WifiManager.WifiLock.html )
这是否意味着...
当用户长时间不与设备交互时(即使屏幕仍然亮着),Wi-Fi radio 或 CPU 可能会进入休眠模式或关闭?
而且,更具体地说,当仍然有一个保持屏幕的 Activity
时,后台任务(例如 IntentService
)的 Wi-Fi 或移动数据连接可能会进入休眠状态开吗?
最佳答案
Can Wi-Fi or the CPU go to sleep when screen is on?
没有。
There are WakeLocks and WifiLocks on Android -- but do I need these if my screen is never turning off?
我不太清楚您的屏幕是如何从不关闭的。归根结底,AFAIK,总是涉及 WakeLock
。 您 是否需要 WakeLock
或者该 WakeLock
是否由框架类管理(例如,android:keepScreenOn
)或操作系统(例如,保持屏幕打开的设置选项),取决于您在做什么。
我从未见过 Android 设备在屏幕打开时(而不是在锁屏时)关闭 WiFi。不排除在某些厂商的极端省电模式下,由于电池电量不足导致 WiFi 掉电的可能性。
Will my screen being always on be sufficient to prevent the device from losing those connections (if we assume that the connection remains available and the server is fine)?
我会把它更多地表述为“保持屏幕打开会有所帮助”。或者,更好的是,让设备进入休眠模式通常会断开您的 WiFi 连接。
To keep the screen on, I use the standard way: getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
这意味着您正在使用 WakeLock
。碰巧它是为你管理的,因为你不能搞砸,你不需要 WAKE_LOCK
权限。
the Wi-Fi radio or the CPU may go to sleep mode or turn off when the user does not interact with the device for a longer time (even if the screen is still on)?
对于普通设备,没有。我不能排除某些制造商在做某种可能具有这种行为的电子墨水产品。
And, more specifically, may a background task's (e.g. IntentService) Wi-Fi or mobile data connection go to sleep when there is still an Activity that keeps the screen on?
不应该。特别是,移动数据连接从不进入休眠状态。
说了这么多,除非这是一个完全受控的环境,否则你所做的事情的可靠性将会很糟糕。你做了很多假设:
某种永久电源
没有人会弄乱设备以将您的 Activity 移至后台或退出按钮
没有人干扰 WiFi 网络,无论是一般情况下还是对设备上的设置大惊小怪(例如,将其置于飞行模式)
等等。
如果这是某种工业过程监控器或信息亭内设备,那么您完美控制这些东西的几率是不错的,但不是很好。你得到的远不止这些,而且这些事情的可能性很快就会消失。
Do you have any references?
在一个理想的世界里,所有这一切都会被完美地记录下来,所有人之间都会和平相处,而海莉·阿特维尔会认为我是一个正派的人。
这不是一个理想的世界。
这些东西不仅在很大程度上没有记录,而且实际上取决于设备制造商。这就是为什么如果这不是一个非常受控的环境,虽然欢迎你尝试获得这种行为,但现实世界非常困惑,你不应该假设你可以保持连接打开无限期。
关于android - 屏幕开启时,Wi-Fi 或 CPU 可以进入休眠状态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27417673/
除了智能手机、平板电脑和个人电脑等流行设备外,Wi-Fi 6还将嵌入其他设备中,包括无线摄像头、智能家居设备、游戏机、可穿戴设备和AR/VR耳机。 那么,Wi-Fi 6会取代5G,成为下一代无线网络
在 API 14 或更高版本 (ICS) 中,可以使用临时 Wi-Fi 网络。我目前拥有以下设备,我正在尝试弄清楚如何测试 Wi-Fi 直连功能,或者我是否需要购买另一台搭载 Android 4.0
我正在构建一个 Android 应用程序以允许在有限范围内的两个设备之间进行通信,但我找不到与 native 等效的插件 Android Wi-Fi peer-to-peer适用于 Phonegap/
我目前正在尝试通过 Wi-Fi Direct 连接两部知道彼此 MAC 地址的手机,但偶然发现了以下问题:我从 收到的 MAC 地址 WifiManager wifiMan = (WifiMa
在 iOS 设备内和支持 Wi-Fi Direct 的设备之间是否可以进行 Wi-Fi Direct 连接? 目标是在没有任何 Controller 的情况下实现 iOS 设备与另一台设备(不一定是另
我正在开发一个管理 Wi-Fi 连接的应用程序。我的场景如下:假设整栋楼都有一个名为“testing-tls”的 Wi-Fi 网络。我的应用程序应该只能连接到选定的接入点(基于 BSSID 或 MAC
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
考虑这张 map : 我需要了解Wi-Fi三角测量的基本原理。上图中描绘了该场景。为了实现Wi-Fi三角测量,我至少需要三个Wi-Fi热点及其位置。设置: 为简单起见,假设我有一个 1平方公里x 1平
(^.^)“你好再次抱歉我的英语不好如果有人喜欢纠正我的编辑我将不胜感激” 嗨,如果我可以用我的 iPhone 从 wi-fi 网络、任何源代码、Api、教程等捕获 IV,现在有没有人可以做到这一点谁
我正在考虑创建一个通过 Wi-Fi Direct 传输视频流的应用程序。我已经用谷歌搜索过(甚至在 Stackoverflow 中),但我没有找到指定支持设备的列表。 我的问题是:是否可以在 Sams
我有一个问题,我想获取我的移动 IP 是网络还是Wi-Fi 我也尝试过一些方法,但我不知道为什么我不能得到它 public class MainActivity extends Activity {
我正在开发开箱即用的体验应用程序。我必须连接 来 self 的自定义应用程序的 wi-fi,不使用设备 wifi 设置。 我已经完成了,从 wifi 管理器获取 wi-fi 网络列表。 你能指导我如何
我正在开发一个需要检查互联网连接的 Android 应用程序。当设备的 WI-FI 关闭时它工作得很好但是当我打开 Wi-Fi 但没有连接到可用网络时,它是强制关闭。可能是什么问题?请帮助 bool
我想通过 Wi-Fi Direct 在 2 台设备之间传输文件。 我想做与 WifiDirectDemo 中相同的事情,但我无法将数据从群组所有者传输到另一台设备,所以我尝试了这个:每次当其中一台设备
模拟器可以连wifi吗?由于我没有使用 eclipse 或任何 IDE...我正在尝试将独立的模拟器连接到 Wi-fi 最佳答案 目前,虽然您可以在模拟器中使用计算机的互联网连接,但用它来模拟 Wi-
我正在尝试为大学设置 Qt,但遇到了一些问题。我正在运行 Windows 8,我不确定是哪个版本的 Qt 或 QtCreator,但不是最新的 - 我们获得了版本安装程序,所以我们必须使用这个版本,尽
我有一个运行 Android 的小型电视盒设备。每当我调出 Wi-Fi 接口(interface)时,以太网接口(interface)就会断开连接。如果我随后调出以太网设备、Wi-Fi 接口(inte
我有一个几乎总是需要知道用户位置的应用程序。 当我需要访问某个位置时,我会这样做: final AlertDialog.Builder builder = new AlertDialog.Builde
我正在开发一个基于 WiFi Direct 技术(P2P)的安卓应用,所以我真的需要知道安卓 WiFi 直接性能的范围是多少米。基于 Android API 指南: you can discover
当您连接的 Wi-Fi 无法访问 Internet 时, Android Lollipop 似乎默认为移动数据。有人知道这是否在某处有正式记录吗? 我们有一个应用程序需要通过 Wi-Fi 连接到没有互
我是一名优秀的程序员,十分优秀!