问题标签 [screen-off]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 屏幕开/关接收器的服务和电池寿命
我是 Android 和 Java 编程的新手,所以我想澄清几个问题。
我编写了一个后台服务,它每 10 秒验证一次,并且根据某些条件,它可能会执行某些事情(也可能不执行)。这是使用定时器实现的。
到目前为止我的理解是,即使屏幕关闭,服务中的计时器也会运行,因此每隔 10 秒,即使屏幕关闭,计时器也会启动。
我想这会对电池寿命产生影响,尽管我不知道有多少或如何衡量这一点。
现在,屏幕关闭时我不需要服务做任何事情,所以我正在考虑注册 Screen OFF 和 Screen ON 广播意图。
在屏幕关闭时,代码会停止计时器——还是停止整个服务会更好?– 在屏幕上,它将启动计时器(或服务)。
我对这个方向的想法是我的应用程序将消耗更少的电池,而不是其他情况
请告诉我我的逻辑是否合理
如果我错了,或者如果有更好的方法来实现这一点,请告诉我。
谢谢!
android - Android 通知管理器在屏幕关闭的情况下不起作用
我有一个倒计时计时器,当它关闭(归零)时,它会检查应用程序是否有焦点。如果没有,它会在通知栏中启动通知。当您单击通知时,将重新打开应用程序。现在所有这些工作正常,但如果屏幕碰巧熄灭,计时器会继续运行,并且通知在正确的时间可用,但在我重新打开屏幕之前不会真正振动或响铃。然后它显示通知,就像它在队列中等待一样。
如何获取它以便通知管理器在屏幕关闭时真正提醒用户?
更新:如果我将计时器设置为 2 分钟,则通知实际工作还需要 2-3 分钟。所以它确实有效,但延迟很大!
代码:所以我在应用程序失去焦点时设置通知服务,当 MyCount1 完成时检查应用程序是否有焦点,如果没有则显示通知。当屏幕背光打开时,这一切都有效。一旦熄灭,它就变得不可靠了。
android - 之前关闭屏幕为时已晚
我有一个活动,它的 onPause 必须做一些工作,但不是在屏幕关闭时。我已经注册了ACTION_SCREEN_OFF
意图的接收者,理论上,这个和应用程序级别的静态标志应该可以解决问题,但是......它不起作用,因为onPause
在接收者可以获得它的意图之前调用活动的回调. 即: logcat*ting* 按下空闲按钮时,我可以onPause
先看到跟踪,然后再看到跟踪onReceive
。此时,设置静态标志不是很重要......
有没有可能在活动onPause
时知道屏幕已关闭?
在此先感谢
L。
android - 在屏幕关闭时获取传感器数据(Android 4.0+)
据我所知,在 Android 设备上,没有 100% 确定的方法可以在屏幕关闭时从设备传感器获取数据。有一些解决方法,但它们并不总是有效。但是我读到的所有帖子都在描述 Android 版本 ~2.2。
有谁知道该错误是否已在 Android 4.0+ 中修复?
android - 锁屏不工作时保存当前电池电量
当用户按下电源按钮(--> 屏幕关闭)时,我正在尝试保存当前的电池电量。
起初,我有一个广播接收器,它会在手机启动时启动。它的任务是启动一项服务,该服务为屏幕关闭/开启意图创建另一个广播接收器( - 由于在清单中指定屏幕关闭意图时它不起作用,我通过此服务动态创建它)
我的启动接收器
创建接收器服务
这是 ScreenReceiver
现在我的问题:ActionService 应该将电池电量保存到首选项文件: ActionService
问题是当收到屏幕关闭意图时没有任何反应 - 我的 ActionService 应该保存电池电量,但没有被调用。
我的 Logcat 输出是:
并且ActionService 的 Log.d("Saved preference", "saved "+p.getInt("LOCKLVL", -1));没有输出
我什至尝试设置这样的唤醒锁: ScreenReceiver
并在保存首选项后释放它。但这并没有改变任何东西。
为了完整起见,这是我的WakelockHelper课程
那么,当用户锁定手机时,如何保存当前的电池电量呢?为什么屏幕关闭意图后我的服务没有启动?为什么唤醒锁没有任何改变?
谢谢!
android - 屏幕超时时间还有吗?
如何获得屏幕关闭之前的剩余时间?我不是指超时设置的值,而是屏幕关闭前还剩多少时间(如果用户没有触摸屏幕)。每2-3秒进行一次检查。
android - Android - 屏幕关闭时出现不必要的延迟
我正在开发一个 android 程序,在该程序中我使用服务从加速度计捕获数据。即使屏幕关闭,我也使用唤醒锁继续捕获数据。还有一个 TimerTask 以确保每 50 毫秒读取一次数据。我使用广播接收器在屏幕关闭事件后重新注册事件侦听器。屏幕点亮时一切正常,但当屏幕熄灭时,会有延迟,并且大约每 800 毫秒捕获一次数据。即使不使用加速度计,此函数 TimerTask 中也会出现延迟。我还尝试使用 hanlde 并为线程设置延迟 50 毫秒,但空白屏幕的延迟仍然存在。我正在使用摩托罗拉剃须刀和安卓果冻豆。谁能帮我?谢谢!
android - 如何在android中获取屏幕锁定广播
如何在android中触发屏幕被锁定或打开?
我尝试在广播接收器中使用 SCREEN_OFF 和 SCREEN_ON 操作,但它不起作用。
在活动中,我已经注册了广播,例如-
屏幕是我的广播接收器的对象
android - 屏幕关闭时重新启用键盘保护
这可能看起来与其他问题相似,但我一直在寻找一段时间,并没有找到适用于我的特定情况的解决方案。
我的应用程序的 BroadcastReceiver 当前获取完整的唤醒锁,禁用键盘保护,然后启动用户先前选择的另一个活动(另一个应用程序、快捷方式意图等)。我遇到的问题是当我尝试重新启用键盘保护时(我相信唤醒锁已被释放,但我会在其他时间确保这一点)。
由于调用了另一个活动,因此我无法使用 Window 标志,因此我一直在尝试使用 KeyguardManager.KeyguardLock 来禁用和启用。此外,由于我无法控制用户在其他应用程序中的操作,因此我想在下次屏幕关闭时重新启用键盘保护。我知道为此使用常规的 BroadcastReceiver 是行不通的,所以我一直在尝试实现一个 Service 来处理它,这就是我遇到麻烦的地方。
目前,我在第一个 BroadcastReceiver 被触发时启动服务,我让服务在 OnCreate 中为 ACTION_SCREEN_OFF 注册另一个 BroadcastReceiver,并让 ScreenOffReceiver 调用服务的 onStartCommand,这应该重新启用键盘保护。我在 onStartCommand 中有一个布尔值,可以知道哪个 BroadcastReceiver 调用了它。
现在,键盘保护要么没有重新启用,要么重新启用太快(在屏幕关闭之前)。有什么想法吗?
这是一些代码:
AlarmActivity 由第一个 BroadcastReceiver 调用以打开用户选择的操作:
这是服务:
这是 ScreenOffReceiver: