首页 文章

Smooch ConversationActivity,我怎么知道活动何时推出?

提问于
浏览
0

我实施了smooch . https://smooch.io/我的问题是,当我从smooch收到通知时 . 如果我在后台,我设置一个"unread messages"长,我在smooch按钮的主要活动中使用 . 问题是,当我按下通知时,会从那里开始ConversationActivity . 我需要将未读消息设置为0,因为ConversationActivity已打开 . 我怎么知道这发生的时间?

我无法修改smooch库中的ConversationActivity.class . 我考虑过自己制作通知,并使用以下代码更改使用此创建的smooch:

private static void generateNotificationSmooch(final Context context, String title, String message) {
    if (title == null)
        title = context.getString(R.string.passenger_name);
    Intent notificationIntent = new Intent(context, ConversationActivity.class);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
    int iUniqueId = (int) (System.currentTimeMillis() & 0xfffffff);
    PendingIntent intent = PendingIntent.getActivity(context, iUniqueId, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
    mBuilder.setContentTitle(title).setContentText(message).setSmallIcon(R.drawable.notification_icon);
    mBuilder.setContentIntent(intent);
    Notification notification = mBuilder.build();
    notification.flags |= Notification.FLAG_AUTO_CANCEL;

    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(0, notification);
}

但是我需要在按下通知时将未读设置为0,而不是在创建通知时 . 我无法将其置于未决意图中

1 回答

  • 1

    你有几个选择 .

    显示对话时将触发此回调,因此您可以更新未读计数 .

    只要当前用户的未读计数发生变化,就会调用此委托 . 您可以使用此回调来相应地更新您的长 .

    由于您需要在点击通知时收听这些委托回调,因此最好在初始化Smooch后在应用程序的 onCreate 中设置您的委托 .

相关问题