2

私のアプリケーションでは、2つの主要なアクティビティがあります。

MainActivityとMessagesActivity

通知がクリックされ、アプリケーションが実行されていないときに、MainActivityを開始する必要があります。ただし、アプリケーションが実行されていて、MessagesActivityが表示されている場合、ユーザーが通知をクリックしたときに、何らかの方法でインテントデータを受信する必要があります。

通知は次のように作成します。

        NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
        Intent notificationIntent = new Intent(context, MainActivity.class);
        notificationIntent.putExtra(MESSAGE_KEY, receivedMessage);
        notificationIntent.putExtra(MESSAGE_ID_KEY, receivedMessageId);
        int requestID = (int) System.currentTimeMillis();
        PendingIntent contentIntent = PendingIntent.getActivity(context, requestID, notificationIntent, PendingIntent.FLAG_ONE_SHOT, intent.getExtras());

        Notification notification = new Notification.Builder(context)
                ....build();
        notificationManager.notify(requestID, notification);

他のフラグやlaunchModesなどを試してみました。これは、すべてが1つのアクティビティである場合は問題ありませんが、アプリケーションがMainActivityまたはMessagesActivityで実行されている場合はonNewIntentが呼び出されません。

4

0 に答える 0