我正在尝试收集AndroidG1手机的电量使用统计信息。我有兴趣了解电压和电流的值,然后能够收集此PDF中报告的统计数据.我可以通过注册Intent接收器来接收ACTION_BATTERY_CHANGED的广播来获取电池电压的值。但是问题是Android没有通过这个SDK接口(interface)暴露current的值。我尝试的一种方法是通过sysfs接口(interface),我可以使用以下命令从adbshell查看电池电流值$cat/sys/class/power_supply/battery/batt_current449但这也只有在手机通过USB接口(interface)连接时
如文档中所述:"AnappholdingtheREQUEST_IGNORE_BATTERY_OPTIMIZATIONSpermissioncantriggerasystemdialogtolettheuseraddtheapptothewhitelistdirectly,withoutgoingtosettings.TheappfiresaACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONSIntenttotriggerthedialog."有人能告诉我触发这个Intent的正确方法吗? 最佳答案
如文档中所述:"AnappholdingtheREQUEST_IGNORE_BATTERY_OPTIMIZATIONSpermissioncantriggerasystemdialogtolettheuseraddtheapptothewhitelistdirectly,withoutgoingtosettings.TheappfiresaACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONSIntenttotriggerthedialog."有人能告诉我触发这个Intent的正确方法吗? 最佳答案
所以...我正在为Android制作应用程序。应用程序需要发送和接收实时聊天数据(需要是一个套接字),但它还需要发送命令(客户端不知道它何时发送)。我需要知道在节省用户电池方面什么是更好的解决方案。a)每次发送命令时打开和关闭连接,如果打开聊天选项卡,则保持连接不变。b)始终保持连接不变。我浏览了互联网,但得到的答案不一,有人说保持持久连接不利于电池生命周期,而另一些人则说不是(例如:“你是在问是否持有TCP连接打开会耗尽电池生命周期?也许我在这里很远,但是保持连接打开不应该浪费电池生命周期......如果你认为它会,我很想知道你从哪里得到这些信息。听起来很奇怪给我。”)或者如果有其他
所以...我正在为Android制作应用程序。应用程序需要发送和接收实时聊天数据(需要是一个套接字),但它还需要发送命令(客户端不知道它何时发送)。我需要知道在节省用户电池方面什么是更好的解决方案。a)每次发送命令时打开和关闭连接,如果打开聊天选项卡,则保持连接不变。b)始终保持连接不变。我浏览了互联网,但得到的答案不一,有人说保持持久连接不利于电池生命周期,而另一些人则说不是(例如:“你是在问是否持有TCP连接打开会耗尽电池生命周期?也许我在这里很远,但是保持连接打开不应该浪费电池生命周期......如果你认为它会,我很想知道你从哪里得到这些信息。听起来很奇怪给我。”)或者如果有其他
我正在尝试通过使用广播接收器获取电池信息并将其存储在数据库中。我宁愿只在我特别需要的时候才得到它,但我愿意保留一个数据库来记录它的运行记录。无论如何,问题是我的应用程序因以下错误而崩溃:java.lang.RuntimeException:ErrorreceivingbroadcastIntent{act=android.intent.action.BATTERY_CHANGEDflg=0x60000010(hasextras)}atandroid.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:765)atandroi
我的目标是:当我调用某些函数时,我想获得准确的当前电池状态(电量、电压等)。首先,我尝试在我的应用程序中执行此操作,如website中所示.然后我发现实际上ACTION_BATTERY_CHANGED广播是sticky这意味着我得到的是上次广播的值,而不是确切的当前值。其实我已经看过android源代码了。对于电池接口(interface),驱动有读取电池内部寄存器的功能,包括当前soc(stateofcharge)、电压等。所以我只是想知道系统如何以及何时发送粘性广播ACTION_BATTERY_CHANGED?它是否定期发送(例如,每10秒它会读取电池中的寄存器并发送广播)?或者它
我在这里遇到了一个小问题。我希望我的应用程序执行某些操作,但仅限于电池电量为10%时。我的应用不会持续监控电池电量;它只是等待LOW_BATTERYIntent。如果我不指定级别它会起作用,但它会起作用3次:15%、10%和5%我只希望它以10%的速度做某事。这是我的代码:publicvoidonReceive(Contextcontext,Intentintent){if(intent.getAction().equals(ACTION_BATTERY_LOW)){intlevel=intent.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);i
我正在使用此代码来跟踪我服务中的电池信息:Intenti=newContextWrapper(applicationContext).registerReceiver(null,newIntentFilter(Intent.ACTION_BATTERY_CHANGED));//nowyoucangetthelevelandscalefromthisintentvariableintlevel=i.getIntExtra(BatteryManager.EXTRA_LEVEL,-1);intscale=i.getIntExtra(BatteryManager.EXTRA_SCALE,-1)
我打算编写一个应用程序,其唯一目的是监控电池电量,并在电量低于特定电量时启动一个Intent。我担心的是这本身会耗尽电池电量,而且没有人愿意使用它。所以我的问题是:使用ACTION_BATTERY_CHANGED广播接收器到底消耗了多少电量?有谁知道我们所说的电池续航时间大约是多少? 最佳答案 我认为你不会消耗太多能量。此广播仅在电平变化百分之一时发送,例如:85%->86%或76%->75%。Android操作系统已经跟踪电池电量(它必须跟踪它以便在电量过低时关闭手机,~3-5%)。因此,仅订阅此广播甚至不应该引起用户的注意(就电