在用户运行我的应用程序-Android时,如何知道电池是否由于过热而停止充电?

时间:2018-08-16 08:56:04

标签: android batterymanager

我的意思是充电器已插入但未在充电。

系统是否对此有任何指示? 当我收到一条消息,说黄油由于过热而停止充电时,在“ Waze”应用程序中看到了它。 我的应用程序又很沉重,有时会导致相同的问题, 所以我想知道它何时发生并宣布警告。

另一件事是-我怎么能知道电池是因为发热而不是因为电池100%充满而停止充电?

任何人都可以帮助我...

1 个答案:

答案 0 :(得分:0)

您可以注册一个简单的广播接收器,并可以监视电池电量和充电状态,也可以使用以下粘性意图。例如:

IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent batteryStatus = context.registerReceiver(null, ifilter);

int level = batteryStatus.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
int scale = batteryStatus.getIntExtra(BatteryManager.EXTRA_SCALE, -1);

float batteryPct = level / (float)scale;  

每当您使用所需的BatteryPct时,您都可以通知用户。要获取电池温度,您还可以从BatteryManager.EXTRA_TEMPERATURE i

查找信息。
val temperature = batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE)

有关更多详细信息,请参见此android reference