【发布时间】:2019-07-20 21:40:37
【问题描述】:
我正在尝试根据从 Firebase 收到的命令重新启动我的主要活动。我设法让它工作,但在 MainActivity 类中有一个 TimerTask 并且为了从我的 Firebase 类调用 Stop 函数,我必须创建 MainActivity 类的一个新实例。这也将创建一个新的计时器实例。该命令将停止计时器(新启动的计时器),但旧计时器继续在后台运行。如何在 MainActivity 中调用停止函数而不创建新实例。它是一个非静态函数,所以我不能从静态上下文中调用它。
如果有帮助,这是我的代码片段。
if (remoteMessage.getNotification() != null) {
String msg = remoteMessage.getNotification().getBody();
Log.v("test", "FB msg is: " + msg);
if (msg.equals(COMMAND)) {
Intent i = new Intent(MyFirebaseMessagingService.this, DashboardActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
dashboardActivity.stopTimer();
// SharedPrefManager.getInstance(getApplicationContext()).storeTimer("false");
} else {
Log.v("test", "unknown");
}
}
最终,我想从 Firebase 发送一个命令,强制我的 MainActivity 完全重启。
【问题讨论】:
标签: android android-activity timertask non-static