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

Smi*_*thy 7 java android activity-lifecycle android-lifecycle android-activity

当我的Android设备上的电池在活动和片段类(如果有的话)用什么方法在设备的"关闭"阶段被称为?

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

在onPause?

调用OnStop?

的OnDestroy?

OnDetach?

额外奖励:我是否有足够的时间将少量数据保存到Web服务器?

为了澄清当设备的电池"完全"死亡时"死亡",不再接受输入,屏幕上会弹出一个消息框/加载屏幕,显示"电源关闭".设备关闭后不久就会出现.

我只是需要足够的时间来保存手机关机之前的状态,我有一个策略来清理保存的数据,如果手机没有关闭,但我想尽可能接近手机关闭(任何超过一分钟真是无意义).

Joh*_*ohn 5

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

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

  • https://android.googlesource.com/platform/frameworks/base/+/625239a05401bbf18b04d9874cea3f82da7c29a1/services/java/com/android/server/BatteryService.java (2认同)