>我创建了一个计时器,当用户打开应用程序时启动。当用户执行任何活动时,计时器需要重置。
我不想转到每个活动并重置用户操作的计时器。我想从一个地方在全球范围内处理这个问题。是否可以在主应用程序中获取用户操作,并从那里重置计时器。
所以我不需要在每个活动中都做以下操作。
@overide
public void onUserInteraction() {
super.onUserInteraction();
}
您可以定义一个基本活动,然后让所有活动扩展它。这样,您就可以将该方法添加到基本活动中,它将在您的所有活动中可用。
您可以创建一个 Utility 类并在其中添加一个静态变量。然后在触发意向时更改其值。
实用类
public class Utility {
public static boolean isActivityTriggered = false;
}
在触发"我的活动"意向时更改其值
Intent intent = new Intent(this, MyActivity.class);
startActivity(intent);
Utility.isActivityTriggered = true;
这样,每当您从 MainActivity 启动 MyActivity 时,布尔值都将设置为 true。
在扩展Application
类中添加静态方法
public static void onUserInteraction() {
//cancel the timer
}
然后从任何活动调用MyApplication.onUserInteraction();