我正在寻找一个估计/猜测Android手机电池完全放电前剩余时间的代码。我的搜索结果充满了可用的应用程序,也有一个共同的评论,即计算它几乎是无用的。我需要代码。任何帮助,即使是一个粗略的片段,将做的开始。
wb1gzix01#
您无法准确猜测电池放电的剩余时间,因为可能有不同的应用或服务消耗电池。因此它可以变化。但是,您可以通过为action Intent.ACTION_BATTERY_CHANGED注册一个接收器,在广播接收器的帮助下获得电池寿命。我的答案是关键,从Android开发者网站获取信息。通过在BroadcastReceiver的onReceive()方法中使用下面的语句和上面的Intent操作,您将获得当前可用的电池电量(例如,50%,60%等)。但您无法估计剩余时间,因为某些应用程序可能会消耗更多电量。因此,我认为电池水平剩余时间转换不会给给予正确的结果。
battery_level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
我希望它能帮助你。
owfi6suc2#
@Override public void onCreate() { BroadcastReceiver batteryReceiver = new BroadcastReceiver() { int scale = -1; int level = -1; int voltage = -1; int temp = -1; @Override public void onReceive(Context context, Intent intent) { level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1); voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1); Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage); } }; IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); registerReceiver(batteryReceiver, filter); }
2条答案
按热度按时间wb1gzix01#
您无法准确猜测电池放电的剩余时间,因为可能有不同的应用或服务消耗电池。因此它可以变化。
但是,您可以通过为action Intent.ACTION_BATTERY_CHANGED注册一个接收器,在广播接收器的帮助下获得电池寿命。我的答案是关键,从Android开发者网站获取信息。
通过在BroadcastReceiver的onReceive()方法中使用下面的语句和上面的Intent操作,您将获得当前可用的电池电量(例如,50%,60%等)。但您无法估计剩余时间,因为某些应用程序可能会消耗更多电量。因此,我认为电池水平剩余时间转换不会给给予正确的结果。
我希望它能帮助你。
owfi6suc2#