首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android应用电池监控

Android应用电池监控
EN

Stack Overflow用户
提问于 2016-01-10 09:59:13
回答 1查看 357关注 0票数 1

对于我的android应用程序,我需要监控所有运行该应用程序的手机的电池消耗情况。在应用程序中需要有一个按钮来启动和停止监控,在监控停止后,电池监控输出应该保存为手机本身的txt。我已经看过电池统计了,但根据文档,监控过程是通过将设备连接到PC,以及监视设备重新连接并进行转储来启动的。

那么,是否可以在不连接到计算机的情况下启动和停止监视,并将输出保存在本地的电话上?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-10 11:42:01

当电池发生变化时,您可以使用广播接收器接收有关电池的信息。

代码语言:javascript
复制
 private BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context ctx, Intent intent) {

            mLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, Const.VALUE_UNSET);
            mTemperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, Const.VALUE_UNSET);
            mStatus = intent.getIntExtra(BatteryManager.EXTRA_STATUS, Const.VALUE_UNSET);
            mPlugged = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, Const.VALUE_UNSET);
            mScale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, Const.VALUE_UNSET);
            mHealth = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, Const.VALUE_UNSET);
            mVoltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, Const.VALUE_UNSET);
            mTechnology = intent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY);
}

不要忘记在您的活动(或服务,如果应该运行在后台)中注册接收者。

注册(onCreate /onStart.):

代码语言:javascript
复制
 registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

注销(onPause / onDestory):

代码语言:javascript
复制
unregisterReceiver(...)

写入文件应该不太困难,只需在这里搜索SO,并且不要忘记设置权限(也用于处理文件):

代码语言:javascript
复制
<uses-permission android:name="android.permission.BATTERY_STATS"/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34704150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档