通知点击时打开活动-意图标志问题

时间:2018-11-08 04:32:28

标签: android android-intent flags

我正在创建一个Android应用。我已经设置了通知系统,以在单击通知时打开特定的活动/课程。当我的应用程序完全关闭并发送通知时,当我单击它时,将打开正确的活动,例如以下示例:

应用程序未运行>出现通知>单击通知> Activity_T打开。

但是,当我的应用程序正在运行并且收到通知时,当我单击它以打开Activity_T时,它不会加载MainActivity。

我使用的标志如下

    Intent intent = new Intent(mContext, (Class<?>) activityToLaunch);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    intent.putExtra("tt", title);
    intent.putExtra("bd", body);
    mContext.startActivity(intent);

我想在通知时打开Activity_T,请单击该应用程序是否正在运行。每当我单击通知时如何强制打开Activity_T。

2 个答案:

答案 0 :(得分:0)

我从接收者的onReceive方法发送通知。当单击通知时,我打开了一个活动,甚至该应用程序也被杀死了。我曾经那样

diamonds = spark.read.csv(PATH, header="true", inferSchema="true")

答案 1 :(得分:0)

尝试下面的代码...用您的活动名称更改YOUR_ACTIVITY.CLASS ...

@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Intent intent=new Intent(this,YOUR_ACTIVITY.CLASS);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent=PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_ONE_SHOT);//new PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder notificationBuilder= new NotificationCompat.Builder(this);
notificationBuilder.setContentTitle("FCM NOTIFICATION");
notificationBuilder.setContentText(Objects.requireNonNull(remoteMessage.getNotification()).getBody());
notificationBuilder.setAutoCancel(true);
notificationBuilder.setSmallIcon(R.mipmap.ic_launcher);
notificationBuilder.setContentIntent(pendingIntent);
NotificationManager notificationManager =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
assert notificationManager != null;
notificationManager.notify(0,notificationBuilder.build());
}