`
- 浏览:
123736 次
- 性别:
- 来自:
深圳
-
转:http://www.asiteof.me/2011/02/wakelock-wifilock/
在android中,申请WakeLock可以使进程持续执行,即使进入睡眠模式,进程的执行也不间断,而且能保持屏幕常亮。
WifiLock跟WakeLock用法作用与WakeLock相同,不过前者是针对Wifi的而已。
SMS Backup中关于WakeLock以及WifiLock的代码如下:
private static void acquireWakeLock(Context ctx) {
if (sWakeLock == null) {
PowerManager pMgr = (PowerManager) ctx.getSystemService(POWER_SERVICE); //保持当前进程持续有效
sWakeLock = pMgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"SmsSyncService.sync() wakelock.");
WifiManager wMgr = (WifiManager) ctx.getSystemService(WIFI_SERVICE); //保持wifi有效
sWifiLock = wMgr.createWifiLock("SMS Backup");
}
sWakeLock.acquire();
sWifiLock.acquire();
}
用完一定要记得释放锁:
private static void releaseWakeLock(Context ctx) {
sWakeLock.release();
sWifiLock.release();
}
而且要注意在AndroidManifest.xml中注明wakelock权限的申请:
<uses -permission android:name="android.permission.WAKE_LOCK"/>
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
基于长连接的自有PUSH机制、短周期非对齐的AlarmManager使用和不合理使用WakeLock/WifiLock也是电量消耗的大户。 为了保护和优化设备体验,开发者应遵循以下原则: 1. 避免静态声明Broadcast Receiver,尽可能使用...
本文将深入探讨Android的WiFi电源管理机制,特别是如何通过`WifiLock`来控制WiFi的状态。 `WifiLock`是Android提供的一个接口,允许应用程序在特定条件下保持WiFi无线电持续开启。默认情况下,当设备屏幕关闭且一段...
Wifi连接网络,通过程序你将了解到定义WifiManager对象,定义WifiInfo对象,获取网络连接列表,定义一个WifiLock,打开Wifi网卡,关闭Wifi网卡,检查当前Wifi网卡状态,扫描周边网络,每次点击扫描之前清空上一次的...
Wifi连接网络,通过程序你将了解到定义WifiManager对象,定义WifiInfo对象,获取网络连接列表,定义一个WifiLock,打开Wifi网卡,关闭Wifi网卡,检查当前Wifi网卡状态,扫描周边网络,每次点击扫描之前清空上一次的...
5. **`WifiLock mWifiLock`**:用于锁住Wi-Fi收发器,防止屏幕锁定时Wi-Fi断开。 ##### 2.2 构造函数 - **`public WifiAdmin(Context context)`**: - 参数:`Context context` —— 应用程序上下文。 - 功能:...
在Android平台上,开发一个应用程序来实现WiFi连接功能涉及到多个关键知识点。以下是对这些知识点的详细说明: 1. **WifiManager**: `WifiManager`是Android系统提供的一个接口,它允许应用程序控制和管理WiFi连接...
根据提供的文件信息,本文将详细解析 Android 中对 Wi-Fi 的操作方法及其实现细节。文章主要涵盖以下几个方面:Wi-Fi 状态的获取与控制、Wi-Fi 锁的使用、扫描周边 Wi-Fi 信号以及配置 Wi-Fi 网络等。 ### 一、...
综上所述,这个文档解决的问题可能是针对Android设备上无密码WiFi网络连接失败的情况,通过创建`WifiConfiguration`对象,添加到`WifiManager`,并利用`WifiLock`保持连接稳定性,从而实现自动连接。此外,还提供了...
本实例主要讲解如何在Android中实现Wi-Fi的管理,包括开启、关闭Wi-Fi,扫描网络,以及使用Wi-Fi锁来保持网络连接。下面我们将深入探讨相关知识点。 首先,Android中的`WifiManager`类是进行Wi-Fi操作的核心,它...
当需要保持WiFi连接以防止因系统休眠而断开时,可以使用`WifiLock`。`WifiLock`允许应用在后台保持WiFi连接。以下是如何创建、获取和释放`WifiLock`的示例: ```java public void acquireWifiLock() { mWifiLock....
可以通过实现`WifiManager.NetworkStateChangeListener`接口,监听WIFI连接状态的变化,如连接成功、连接失败或网络断开等事件。 9. **电源管理与省电模式**: 在开发中要考虑电源管理,特别是对于长时间运行的...