电池没电时会调用哪些 Android 方法?

What Android methods are called when battery dies?

当我的 Android 设备上的电池 耗尽时 在 [=21] 期间调用了 Activity 和 Fragment 类(如果有)中的哪些方法=] 设备的阶段?

此外,如果用户当前正在查看我的应用程序中的屏幕并且他们按住电源按钮并选择关闭,那么调用的事件 called/not 是否与电池耗尽并自动关闭的时间一致?

暂停?

停止?

OnDestroy?

OnDetach?

奖金: 我有足够的时间将少量数据保存到网络服务器吗?

澄清 "dies" 当设备的电池 'completely' 没电时,不再接受输入,并且屏幕上会弹出消息 box/loading 屏幕,说明 "Powering Off"。设备关闭后不久。

我只需要足够的时间在 phone 关闭之前保存表单状态,如果 phone 没有关闭,我有一个清除保存数据的策略,但我想得到尽可能接近 phone 关闭(真的超过一分钟是没有意义的)。

您提到的方法是activity个生命周期回调,其中none个会在电池电量不足时调用。您需要为此使用广播接收器

看到这个How to detect when the Battery's low : Android?

当电池电量达到 0.5% 时,onDestroy 被调用

编辑:在 low/dead 电池导致的关机过程中没有指定的时间你必须做任何事情,这取决于特定的 phone 电池而不是系统,所以您可能有足够的时间将数据保存到某些 phone 上的网络服务器,但其他人则不然。实验上,我只能向调用 onDestroy 之前已经写入的文件写入一小行,仅此而已。