安卓 WifiLock 无法使用?

2024-02-18

我需要每 x 分钟通过 WiFi 和 HTTP 从本地网络上的服务器提取数据。服务在后台运行,我使用 AlarmManager 来触发查询。设备上的 Wifi 睡眠策略设置为“从不”。

问题是,设备在屏幕关闭时进入睡眠状态,并且 wifi 锁似乎无法正确重新连接 wifi,因此查询失败。

知道这里出了什么问题吗?

执行

   {...}

    wakeLockUtil.lock();

    //wait for wifi to connect (no idea if this is useful)
    Thread.sleep(3000);

    doQuery();

    wakeLockUtil.unlock();

   {...}

WakeLock

public WakeLockUtil(Context context) {

    wifiLock = ((WifiManager) context.getSystemService(Context.WIFI_SERVICE)).createWifiLock(WifiManager.WIFI_MODE_FULL,
            "PeriodUpdateWifiLock");
    wakeLock = ((PowerManager) context.getSystemService(Context.POWER_SERVICE)).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
            "PeriodUpdateWakeLock");

}

public void lock() {
    System.out.println("WakeLockUtil.lock()");
    try {
        wakeLock.acquire();
        wifiLock.acquire();
    } catch (Exception e) {
        Log.e(this.getClass().getSimpleName(), "Error getting Lock: " + e.getMessage());
    }

}

public void unlock() {
    System.out.println("WakeLockUtil.unlock()");
    if (wakeLock.isHeld())
        wakeLock.release();
    if (wifiLock.isHeld())
        wifiLock.release();
}

我在某些设备上发现了一些问题,其中 PARTIAL_WAKE_LOCK 和 WifiLock:WIFI_MODE_FULL_HIGH_PERF 的组合在屏幕关闭时无法完全工作。很烦人。到目前为止对我来说唯一的解决方案是使用SCREEN_DIM_WAKE_LOCK http://developer.android.com/reference/android/os/PowerManager.html#SCREEN_DIM_WAKE_LOCK.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安卓 WifiLock 无法使用? 的相关文章

  • Android 如何使用意图发送文本和图像或任何对象?

    我知道可以与以下人员分享短信ACTION SEND通过指定Intent EXTRA TEXT 同样的方法适用于图像 Intent EXTRA STREAM 但是如何将文本和图像添加到同一意图呢 您可以通过意图发送文本和图像 例如 如果您要发
  • 如何设置日期选择器的日期?

    I use DatePickerDialog OnDateSetListener效果很好 我想在日期选择器中添加 120 天的日期 我的意思是 如果我添加 120 天 日期和月份将自动更改 怎么做 像这样的事情应该可以解决问题 Calend
  • 现实世界中的 JavaCard 3?

    我目前正在从事我的文凭工作 部分工作包括开发JavaCard常规小程序SIM牌 第一个选项是使用JavaCard2 X API并使用APDU与小程序通信的命令 这可能非常棘手 因为我需要为 android 开发客户端应用程序 它将与这个小程
  • OpenGL ES 2.0 中的透明对象

    所以我一直在 Android 上使用 OpenGL ES 2 0 但现在遇到了一个我无法解决的问题 提前道歉 看来我还不能发布两个以上的链接 所以我把我的三张图片放在 Photobucket 相册中 我正在尝试创建一个由透明区域 彩色玻璃
  • 自定义 ListView 和 onclick

    这是我的代码 一切 我按照你说的做了 但我仍然无法点击任何内容 我的意思是我可以点击但没有任何反应 package fixus core import java util ArrayList import java util Iterato
  • 如何在同一个列表视图中同时实现ontouch和onfling?

    我有一个listview并实现了onclick和onfling 问题是当我进行fling 从左向右滑动 时 listview的onclick事件也被执行 如何克服这个问题 如何区分列表视图中的触摸 点击 和滑动 滑动 listClickLi
  • Android Chrome 忽略 -webkit-text-size-adjust:none 属性。缩小时文本会缩放

    我们的客户请求一个网站 但不想支付移动版本的费用 我们仍在使其在移动设备上运行 当完全缩小时 Android 4 0 上的 Chrome 会缩放一堆文本 我们尝试设置 webkit text size adjust none 属性 但它似乎
  • 5.1 崩溃 - 任务描述的主要颜色应该是不透明的

    我已经在我的应用程序中实现了材料设计 它在 FATAL EXCEPTION main Process com test test PID 3195 java lang RuntimeException Unable to start act
  • 已将 APK 上传到 Play 商店,获得 0 个受支持的设备,但没有错误

    我正在尝试将我的应用程序的 Alpha 版本发布到 Play 商店 但我得到了 0 个受支持的设备 这令人沮丧 因为我没有看到该错误 该项目是一个新的样式 gradle API声明和版本在build gradle中定义 您可以在此处获取该应
  • Android 设备与本地 API 服务器通信

    我想知道如何在外部设备上模拟我的 Android 应用程序 以便与我的计算机上运行的本地 API 服务器进行通信 该应用程序使用 cordova 并使用 USB 连接在 Android 设备上运行 我正在本地运行 API 服务器 使用我的机
  • Android API 列表

    我想获取 CellInfo 数据 但 cellinfo size 总是发生 模拟器中的 NullPointerException 细胞信息链接 http developer android com reference android tel
  • 从布局中添加和删除视图

    如何从布局中添加和删除视图 我是这样做的 ViewManager entry getParent removeView entry
  • 如何测试返回DataSource.Factory的Dao方法?

    转移后从SqliteOpenHelper to room在我的应用程序中 我尝试编写测试DAO class 我的 DAO 看起来像这样 Query SELECT FROM cards fun getAllCards List
  • Android MapView v2 黑屏

    我一直在尝试实现 android 的 MapView v2 除了这个错误之外 我让它工作得很好 This is what it looks like when I load the app from scratch 如您所见 没有任何问题
  • 如何将点击侦听器添加到 Android/Java Textview 中的字符串中?

    我想要完成的是大多数 Twitter 应用程序中的标准操作 在文本视图中 文本字符串中的单词前面可能有 提及或 主题标签 并且它们实际上能够添加点击侦听器这个词启动了另一项活动 有谁知道这是如何实现的 下面我附上了一张示例照片 显示了我想要
  • 无法将图像从 url 存储到 SD 卡

    我想将图像存储在 mnt sdcard 中 package com Downld file frm net import java io BufferedInputStream import java io File import java
  • 跨平台 IAP

    我已在 iOS 和 Android 中集成了应用内购买 自动续订订阅 两者都工作正常 我对使用跨平台验证 IAP 有一定的疑问 例如 当多个用户登录一个应用程序时 某一特定应用程序的订阅如何运作 例如 如果用户 A 有标准套餐并且从应用程序
  • 如何保存/加载 BigInteger 数组

    我想保存 加载BigInteger数组传入 传出 SharedPreferences 如何做呢 例如对于以下数组 private BigInteger dataCreatedTimes new BigInteger 20 Using Gso
  • 获取 Blob 图像并将该图像转换为 Bitmap 图像

    我正在从数据库中获取 blob 格式的图像 我想将其转换为位图图像 我用来将位图转换为 Blob 的代码放在下面 但是请告诉我如何反转它 ByteArrayOutputStream boas new ByteArrayOutputStrea
  • Firebase 附加权限。是否要求用户接受

    我目前正在致力于将 Firebase Analytics 集成到我的 Android 应用程序中 我遇到的问题是 Firebase 添加了一些新权限 这些权限是 permission WAKE LOCK com google android

随机推荐

  • 如何配置 Xcode 将“{”放在生成的文件中我想要的位置

    我知道这在程序员中是一个相当有争议的问题 但在开发时 我喜欢我的 IDE 将左大括号放置在方法 接口 控件声明下方 以用于说明目的 这就是 Xcode 自动生成带有 结尾的骨架方法的方式 void isTrue BOOL input if
  • 使用 Git,子树合并具有子模块的外部项目的最佳方法是什么?

    我正在使用 Git 存储库来存储与我正在开发的网站相关的所有内容 该存储库保存与该站点相关的所有文件 包括文档 模型 原始分层图像等 以及我放入的 Web 根目录内容www子目录 我现在想要开始将我选择使用的 CMS 与项目的其余部分集成
  • 如何开始编写合成 WM?

    我想编写一个基本的硬件加速窗口管理器 所以我一直在寻找一些有关如何开始的文档 但我只找到了本教程 http wingolog org archives 2008 07 26 so you want to build a compositor
  • 在 Maybe 类型上应用函数?

    Haskell 新手 我不知道如何将函数 a gt b 应用于列表 也许 a 并获取 也许 b maybeX a gt b gt Maybe a gt Maybe b 该函数应该做与 map 完全相同的事情 将函数 f 应用于 Maybe
  • 为什么我的生成器在迭代后变空了?

    我有一个生成器通过我正在使用的库的函数调用返回给我 然后 我将此生成器传递给一个函数 该函数迭代它并对每个项目执行一系列逻辑 然后我想在调用该函数后引用同一个生成器 然而 生成器似乎不再拥有 生成任何物品 代码是这样的 let myGene
  • Twitter API:如何获取用户 ID、谁喜欢特定推文?

    我正在尝试获取有关将特定推文添加到收藏夹的用户的信息 但我在文档中找不到它 Twitter 可以做到这一点 但没有将此方法作为 API 提供 这是不公平的 显然 做到这一点的唯一方法是scrape http web archive org
  • PySpark 在终端中执行时出现“非法反射访问操作”

    我已经在本地安装了 Spark 和组件 并且能够在 Jupyter iPython 中以及通过 Spark submit 执行 PySpark 代码 但是收到以下警告 WARNING An illegal reflective access
  • 我可以在 Eclipse 中运行 Spark 单元测试吗

    最近我们从使用烫洗改为使用火花 我使用eclipse和eclipse的scala IDE来编写代码和测试 测试在 twitter 的 JobTest 类上运行良好 任何使用 JobTest 的类都可以自动作为 Eclipse 中的 scal
  • 如何在R中根据样本id标记PCA点

    我有一个使用对象 选项卡 制作的 PCA 图 gt tab sample id EV1 EV2 1 G495 0 0074331465 3 837111e 02 2 G1 0 0141980856 6 964191e 02 3 G10 0
  • 如何从 gem 资产中覆盖单个文件来进行资产:预编译?

    情况 我使用带有自己的 JavaScript 和样式表资源的 gem 这个 gem 使用标准的 application js 和 application css 清单来要求其所有资产 gem app assets javascripts g
  • System.setErr() 干扰 Logger

    在较大的程序中 我使用静态java util logging Logger实例 但重定向System err连续到几个不同的文件 这Logger第二次尝试重定向时无法记录System err 这是一个显示问题的测试程序 import jav
  • 更改收件人短信的“发件人”字段

    我希望短信的收件人看到我的公司名称 而不是电话号码 这怎么可能 我目前正在使用 Twilio 但我愿意接受涉及其他服务的建议 对于那些看过 philnash 的答案但仍然遇到问题的人 请阅读本文 我正在使用 twilio ruby gem
  • 预加载的图像再次加载

    我正在预加载我的图像componentDidMount像这样 photos forEach picture gt const img new Image img src picture url 但是当我尝试像这样插入图像时 在另一个组件中
  • 如何在 C# 中迭代​​ Collection 时添加或删除对象

    我试图在迭代集合时删除对象 但我遇到了例外 我怎样才能实现这个目标 这是我的代码 foreach var gem in gems gem Value Update gameTime if gem Value BoundingCircle I
  • 出现未捕获类型错误:将 Browserify 与 Nutritionix NodeJS 客户端库一起使用时,fs.readdirSync 不是一个函数

    我正在尝试使用 Node 构建一个演示应用程序 但我不断收到未捕获的类型错误 fs readdirSync 不是函数尝试使用 Nutrionix NodeJS 客户端库时出错 https github com nutritionix nod
  • SAP 通过 VBA 提取到 EXCEL 内存不足

    我正在尝试通过我记录的 SAP 脚本将 SAP 事务提取到 txt 文档中 最后将其提取到我的 Excel 工作表中 当我在 SAP 中运行脚本时 它会通过将值复制到我的 txt 文档中来工作 所以看来我的问题是 excel 中的宏没有激活
  • 如何使用 sed/awk 提取两个模式之间的文本

    我知道这个问题已经被问了 1000 次了 但是我读了很多类似的问题 但仍然没有找到正确的方法来做到这一点 我需要从如下所示的行中提取一个数字 version 4 9 123M info version 2034 2 description
  • 如何对 Eloquent 子查询进行排序

    我有两个连接的表 团队和成员 这些模型通过 n m 关系连接 在我的团队视图中 我将创建一个 foreach 循环来获取所述团队的成员 如下所示 foreach team gt teammember as member member gt
  • 如何检测ListView Item的位置?

    如何根据列表视图项目在屏幕上的位置向其添加填充 例如 如果 listView 项位于屏幕中间 我希望将其内边距增加 10 点 如果 listView 项位于屏幕顶部附近 我希望将其内边距增加 15 点 您可以通过附加一个来实现这一点Scro
  • 安卓 WifiLock 无法使用?

    我需要每 x 分钟通过 WiFi 和 HTTP 从本地网络上的服务器提取数据 服务在后台运行 我使用 AlarmManager 来触发查询 设备上的 Wifi 睡眠策略设置为 从不 问题是 设备在屏幕关闭时进入睡眠状态 并且 wifi 锁似