草庐IT

Android BroadcastReceiver android.intent.action.BATTERY_CHANGED

我能够在我的Activity中收听IntentIntent.ACTION_BATTERY_CHANGED并且效果很好。我尝试在list中定义接收器:但它没有用,我在这里读了一篇文章说它必须以编程方式定义。我不想在我的Activity中注册接收器,而是想在服务中实现这一点,以便它持续监控。我已经成功地做到了这一点,而且它有效,但我想检查我的工作,看看它是否是正确的方法。我从扩展BroadcastReceiver开始:publicclassBatteryReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Context

android - 如何处理华为和小米的 "battery optimizations"

我有一个通过NotificationListenerService监听通知的应用程序。我的应用程序在几乎所有手机上都能在打瞌睡模式和应用程序待机状态下存活(如果设置正确,例如异常或前台服务)。然后是华为和小米,他们对Android进行了自己的修改以“延长电池生命周期”。这些可能会严重干扰后台运行的应用程序,以至于一两周后必须重新安装该应用程序。即使清除数据也不会“解冻”应用程序。即使是他们自己的“优化”的异常(exception)也不能可靠地解决这个问题。仅完全禁用所有优化,例如启用“高性能模式”可能会解决这个问题。但是用户不想禁用这些选项。您如何处理这些情况?我们如何才能阻止制造商停

Android BatteryManager 替代品

我正在尝试在我的应用程序中获取电池统计数据以进行一些基准测试。出色的BatteryManager.BATTERY_PROPERTY_CHARGE_COUNTER让我可以查询设备的微安,这很棒。但是,这仅在API21中引入,因此可以访问的设备数量非常有限。是否有一种兼容的方法可以在较低版本的API(低至4.0)中执行类似的操作?我知道BatteryManager.EXTRA_LEVEL会给我百分比,但这确实不够精细。 最佳答案 据我所知,旧的公共(public)API无法做到这一点。我开发了一个系统级应用程序,可以向用户显示电池使用情

android - 在 android 小部件上获取电池电量

我为Android编写了一个小部件,我正在尝试获取电池电量。我试过使用IntentbatteryIntent=context.registerReceiver(null,newIntentFilter(Intent.ACTION_BATTERY_CHANGED));但是我得到了错误:“IntentReceiver组件不允许注册接收Intent”为什么?ACTION_BATTERY_CHANGED是一个粘性Intent,我没有注册接收器(第一个参数为空)。任何解决方法?谢谢。 最佳答案 hackbod在评论中给出了解决方案:"使用ge

android - "Adaptive battery"到底是什么,它对应用程序开发人员意味着什么?

背景谷歌在谷歌IO2018上宣布了一种叫做“自适应电池”的东西:https://youtu.be/ogfYd705cRs?t=3562作为用户,这听起来很有希望,但作为开发人员,这在某些情况下可能是一个问题。问题他们表示,它会使用AI来检查哪些应用程序的使用频率更高,并且“操作系统会适应您的使用模式”:AdaptiveBatteryuseson-devicemachinelearningtofigureoutwhichappsyou’lluseinthenextfewhoursandwhichyouwon’tuseuntillater,ifatalltoday对我来说,这听起来像是“与

android - 如何以编程方式阻止手机通过 USB 充电

我已尝试进行尽可能多的研究,但找不到这个相当简单的问题的答案(我想在设置SDK和所有内容之前弄清楚这个问题)。我在想关于开发我的第一个应用程序,我想知道BatteryManager中的BATTERY_STATUS_CHARGING是否仅包含一个get函数或一个set功能。我不想制作一个应用程序,我可以在其中手动停止手机充电而无需将其从充电器上拔下(通过USB),所以我想知道这是否真的可行。 最佳答案 不,在没有开启Root的设备上是不可能的。它使用Settings.System和ADB_EN​​ABLED,但ADB_EN​​ABLE

android - 我无法接收有关电池状态变化的广播?

我遇到了与这篇文章完全相同的问题:Batterybroadcastreceiverdoesn'twork.但似乎没有人回答过这个问题。这是我的广播接收器:publicclassBatteryLevelReceiverextendsBroadcastReceiver{@OverridepublicvoidonReceive(Contextcontext,Intentintent){Log.v("plugg","plugchangefired");Toast.makeText(context,"plugchangefired",Toast.LENGTH_LONG).show();}这是我的

android - Google Play 服务 Activity 识别 - 电池使用情况?

GooglePlay服务组件是始终确定用户的当前Activity,还是仅在连接应用以接收Activity更新时才确定?documentation对此并不是很清楚,它只是说它一般对电池的影响很小。我想知道持续查询用户当前Activity(例如,以2分钟为间隔)的应用是否会给用户的电池带来任何额外压力。 最佳答案 电池成本基于应用指定的时间间隔。因此,如果您请求间隔2分钟,设备将休眠2分钟,唤醒几秒钟以进行Activity识别,然后再返回休眠2分钟。2或3分钟的间隔应该对电池的影响最小。 关

C 在 Windows 7 下获取电池生命周期

我正在尝试编写一个程序来获取笔记本电脑电池的百分比,然后显示一个显示消息的CMD(例如:10%->“电池电量低!”)。我试着用谷歌搜索它,似乎他们都尝试过使用C++或C#。有人可以帮我用C吗?编辑:感谢zakinster的回复。它不应该看起来像这样吗?此代码无效。#include#include#include#include#includeintmain(){SYSTEM_POWER_STATUSstatus;GetSystemPowerStatus(&status);unsignedcharbattery=status.BatteryLifePercent;printf("%s",

python - 使用 Python 在 Windows 中获取电池容量

我想弄清楚当前的电池容量和设计容量​​。到目前为止,我可以开始工作的是使用Win32_Battery()class它没有提供我需要的所有信息(至少在我的系统上没有)。我使用了纯pythonwmilibrary为此。另一方面,我发现这个有效InPython,howcanIdetectwhetherthecomputerisonbatterypower?,但不幸的是,它也没有提供有关容量的任何信息。BatteryInformationstructure和BatteryStatusstructure似乎很适合这个。现在我知道我必须使用DeviceIoControlfunction这样做,我发