当应用程序位于前台时,在MyFirebaseMessagingService中检查活动信息

时间:2018-07-31 02:03:53

标签: android firebase android-service firebase-cloud-messaging android-notifications

我正在使用聊天应用程序。我直接从服务器检索聊天。我在听新节点。因此,如果应用程序处于前台状态,并且通知来自与我交谈的同一用户。我不想显示通知。如何在Service中检查哪个活动正在前台运行以及该活动的内容。

1 个答案:

答案 0 :(得分:1)

您可以使用SharedPreferences将应用程序的当前运行活动保存在onResume,onPause中。

如下所示:

 @Override
public void onPause() {
    super.onPause();
    PreferenceManager.getDefaultSharedPreferences(this).edit().putBoolean("isCurrent", false).commit();
}

@Override
public void onDestroy() {
    super.onDestroy();
    PreferenceManager.getDefaultSharedPreferences(this).edit().putBoolean("isCurrent", false).commit();
}

@Override
public void onResume() {
    super.onResume();
    PreferenceManager.getDefaultSharedPreferences(this).edit().putBoolean("isCurrent", true).commit();
}

然后为您服务:

if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("isCurrent", false)) {
            return;
}