Android 通过通知启动目标活动后,如何打开主活动?

Android 通过通知启动目标活动后,如何打开主活动?,android,notifications,Android,Notifications,我有两个活动。MessageActivity和MainActivity。当用户单击通知时,MessageActivity将启动。 如果应用程序已关闭且 每当应用程序运行时,只需完成MessageActivity 这是我的密码, 我使用oneSignal通知,不自己创建通知 @Override public void notificationOpened(OSNotificationOpenResult result) { OSNotificationAction.ActionTyp

我有两个活动。MessageActivity和MainActivity。当用户单击通知时,MessageActivity将启动。 如果应用程序已关闭且 每当应用程序运行时,只需完成MessageActivity

这是我的密码, 我使用oneSignal通知,不自己创建通知

 @Override
 public void notificationOpened(OSNotificationOpenResult result) {
     OSNotificationAction.ActionType actionType = result.action.type;
     JSONObject data = result.notification.payload.additionalData;

     Intent intent = new Intent(MyApplication.getContext(), 
     MessageActivity.class);
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     MyApplication.getContext().startActivity(intent);

}

单击通知并启动MesageActivity后,您还可以在putExtra中发送一个标志,如下所示

intent.putExtra("OpenActivityFromNotification", true);
在创建后的MesageActivity中,您可以获得以下值:

boolean isActivityOpenedFromNotification =  intent.getBooleanExtra("OpenActivityFromNotification", false);
然后,在你的MesageActivity中,你可以用这样的东西来克服背压:

@Override
public void onBackPressed() {
    if(isActivityOpenedFromNotification){
         Intent intent = new Intent(getActivity(), 
             MainActivity.class);
        startActivity(intent);
    }
    else
        super.onBackPressed();
}

很好的编码

呼叫完成;在MessageActivity中,只要您想关闭它并返回到调用方activity Main活动,就在您的案例中。

在处理意图时将该活动添加到backbackback。您解决了问题吗?如果我有帮助,请告诉我。谢谢,是的,非常感谢。因为我用的是一个信号,所以我不能用一个达塔方法。您的解决方案很好。您需要首先将MainActivity添加到任务中。