Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当电池耗尽时,Android的方法叫什么?_Java_Android_Android Activity_Android Lifecycle_Activity Lifecycle - Fatal编程技术网

Java 当电池耗尽时,Android的方法叫什么?

Java 当电池耗尽时,Android的方法叫什么?,java,android,android-activity,android-lifecycle,activity-lifecycle,Java,Android,Android Activity,Android Lifecycle,Activity Lifecycle,当我的Android设备上的电池耗尽时在设备的“关机”阶段调用Activity和Fragment类(如果有)中的哪些方法 此外,如果用户当前正在查看我的应用程序中的屏幕,并且他们按住电源按钮并选择关闭,则调用/未调用的事件是否与电池耗尽并自动关闭时一致 暂停 顶上 奥德斯特罗 自动转速表 奖金: 我是否有足够的时间将少量数据保存到web服务器 为了澄清设备电池“完全”耗尽时的“死机”,不再接受输入,屏幕上会弹出一个消息框/加载屏幕,说明“关机”。在设备关闭后不久 我只需要足够的时间在手机关机前保

当我的Android设备上的电池耗尽时在设备的“关机”阶段调用Activity和Fragment类(如果有)中的哪些方法

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

暂停

顶上

奥德斯特罗

自动转速表

奖金: 我是否有足够的时间将少量数据保存到web服务器

为了澄清设备电池“完全”耗尽时的“死机”,不再接受输入,屏幕上会弹出一个消息框/加载屏幕,说明“关机”。在设备关闭后不久


我只需要足够的时间在手机关机前保存一个表单状态,我有一个策略在手机不关机的情况下清理保存的数据,但我希望尽可能接近手机关机(任何超过一分钟的时间都是毫无意义的)。

您提到的方法是活动生命周期回调,当电池电量不足时,它们都不会被调用。为此,您需要使用广播接收器


见此

当电池电量达到0.5%时,所有设备都会调用onDestroy


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

它们都没有。您需要为此使用广播接收器。@Rohit5k2:
其中没有一个是该确认的来源?(我们说的是受控断电,而不是突然拆下电池)你是否有来源支持这一确认和数字?代码上写着
MAX\u BROADCAST\u TIME=10*1000
,这是广播发送时等待的时间。(但不应该在那里建立网络)。这也是指定给ActivityManager关闭的时间。(请参阅关机线程)。@Smithy电池电量不足确实是一种意图,应该在设备需要关机之前发送。但这并不意味着该设备将关闭电源。@Smithy:then
BATTERY\u LOW
并不能真正帮助您,因为我认为它发生在~4%的时候,此时用户会收到通知,并且可能会给该设备充电。(除非您也检测到,并发送回滚)在设备实际断电之前,我将收到的最后一个事件是什么?大概,在手机自动关机之前,我还有多少时间?每次更换手机都会触发接收器。你可以在你认为合适的时候采取行动。