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

How can I know if the battery stop charging because of overheat, while the user run my application - Android?

我的意思是充电器插上了但是不充电

系统有提示吗? 当我收到一条消息说黄油因为过热而停止充电时,我在 "Waze" 应用程序中看到了它。 我的应用程序也很重,有时会导致同样的问题, 所以我想知道它什么时候发生并发布警告。

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

任何人都请帮助我...

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

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-e

中找到信息
val temperature = batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE)

有关详细信息,请参阅此 android reference