单击通知不会在后台打开活动

Posted

技术标签:

【中文标题】单击通知不会在后台打开活动【英文标题】:Clicking on notification doesn't open activity on background 【发布时间】:2018-04-07 10:30:54 【问题描述】:

我从 firebase 发送通知,而在前台运行的应用程序单击通知将完美运行。但是,如果应用程序在后台运行,则单击通知将不起作用。它不会打开 MainActivity。请帮助我哪里错了。

onMessageReceived()

if (remoteMessage.getNotification() != null) 
            //Foreground
            Log.d(TAG, "Message Notification Body: " +
                    remoteMessage.getNotification().toString());
            showNotification(remoteMessage.getNotification().getTitle(),
                    String.valueOf(remoteMessage.getNotification().getBody()));
        
else if (remoteMessage.getData().size() > 0) 
           showNotification(remoteMessage.getData().get("title"),
                    remoteMessage.getData().get("data"));

        

showNotification()

Intent i = new Intent(this, MainActivity.class);
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_ONE_SHOT);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
            .setAutoCancel(true)
            .setContentTitle(title)
            .setContentText(body)
            .setSmallIcon(R.drawable.ic_launcher)
            .setContentIntent(pendingIntent);

    NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    manager.notify(0, builder.build());

【问题讨论】:

【参考方案1】:

请使用click_action

例如

在您的android.manifest 文件中

在您注册活动的地方添加以下代码

     <activity
                android:name="your activity name">
                <intent-filter>
                    <action android:name="your activity name" />
                   <category android:name="android.intent.category.DEFAULT"/>
               </intent-filter>
   </activity>

您必须在服务器端注册相同的点击操作。

例如

$noti = array
    (
    'icon' => 'your_icon_name',
    'title' => 'title',
    'body' => 'msg',
    'click_action' => 'your activity name comes here'
); 

【讨论】:

我想打开底部栏的第二个标签。我在 firebase 通知上发送标签 ID。如果我的应用程序处于后台,如果用户单击我的应用程序打开并重定向到第二个选项卡,如何处理该问题。请你给我一些想法

以上是关于单击通知不会在后台打开活动的主要内容,如果未能解决你的问题,请参考以下文章

单击通知按钮不会在颤动中打开应用程序

当目标活动打开时,单击通知不会打开新活动

当应用程序不在前台时,特定活动不会从通知单击打开(应用程序是最近的,没有被杀死!)

单击通知区域中的消息时未打开应用程序

单击推送通知时对特定活动的意图。

当应用程序不在后台运行时如何处理推送通知