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
Android 检测是否由于启动表示新活动的新意图的通知或在销毁()之前调用onStop_Android_Android Lifecycle_Activity Lifecycle - Fatal编程技术网

Android 检测是否由于启动表示新活动的新意图的通知或在销毁()之前调用onStop

Android 检测是否由于启动表示新活动的新意图的通知或在销毁()之前调用onStop,android,android-lifecycle,activity-lifecycle,Android,Android Lifecycle,Activity Lifecycle,我在一个activityA上运行了一个计时器,在这个计时器中,可能会出现一个通知,用户点击按钮就会触发一个新的意图,该意图会推动一个新的activityB隐藏当前的activityA 我必须停止activityA中的计时器,只有当它的onStop()在ondestroy()之前被调用时,因为新activityB出现在顶部(用户单击通知并激发意图),而不是因为可见性状态的改变(例如:用户按下home按钮/power按钮) 我可以在onstop()上停止计时器,但这将在任何情况下停止计时器(新意图来

我在一个activityA上运行了一个计时器,在这个计时器中,可能会出现一个通知,用户点击按钮就会触发一个新的意图,该意图会推动一个新的activityB隐藏当前的activityA

我必须停止activityA中的计时器,只有当它的onStop()在ondestroy()之前被调用时,因为新activityB出现在顶部(用户单击通知并激发意图),而不是因为可见性状态的改变(例如:用户按下home按钮/power按钮)

我可以在onstop()上停止计时器,但这将在任何情况下停止计时器(新意图来自通知、屏幕关闭、电源按钮按下)

我可以在ondestroy()上停止计时器,但这样可以防止在呈现另一个activityB时停止计时器


我正在考虑一种方法来阻止计时器访问activityA,并在activityB上导航堆栈。

您可以在
activityA
中设置一个
BroadcastReceiver
,通知意图可以触发它。在那里,停止计时器并启动
活动b

请注意,如果计时器是
activityA
字段,则如果
activityA
位于后台,计时器可能会被销毁。如果这是一个问题,请考虑将定时器保持在前景>代码>服务< /代码>中,或者使用警报代替。