0

私はsmoochを実装しました。 https://smooch.io/ 私の問題は、smoochから通知を受け取ったときです。私がバックグラウンドにいる場合、私はsmoochボタンの主なアクティビティで使用する「未読メッセージ」を長く設定します。 問題は私が通知を押すと、ConversationActivityがそこから開始されることです。 ConversationActivityが開かれているので、未読メッセージを0に設定する必要があります。これがいつ起こるか私はどのように知ることができますかSmooch ConversationActivityは、アクティビティがいつ開始されたかを知ることができますか?

smoochライブラリからConversationActivity.classを変更できません。

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を作成し変更することについて考えましたお知らせ。そして、私は保留中の意図にそれを置くことができません

答えて

1

あなたはいくつかの選択肢があります。

  1. onSmoochShown代理コールバックを使用してください。

    このコールバックは、会話が表示されたときにトリガーされるため、未読数を更新することができます。

  2. onUnreadCountChanged代理コールバックを使用してください。

    このデリゲートは、現在のユーザーの未読数が変更されたときに呼び出されます。このコールバックを使用して、それに応じて更新することができます。

あなたは、通知をタップしたときに、これらのデリゲートのコールバックを聴いする必要がありますので、それはあなたがキスを初期化した後、アプリケーションのonCreateであなたのデリゲートを設定するのが最適かもしれません。

+0

はい、これは機能します。デリゲートの実施により –

関連する問題