Android 如何知道最后执行了哪个活动

Android 如何知道最后执行了哪个活动,android,android-intent,intentfilter,Android,Android Intent,Intentfilter,我有两个活动使用相同的意图过滤器接收器,具有相同的优先级,比如activity1和activity2。 每一页都向我介绍扩展IntentService的其他两个不同活动的意图,即activity1-->activityA和activity2-->activityB。 当它们被设置在这两个新页面上时,activityX会被触发,之后它会将我带回我的原始页面。 在这种情况下,activityX不知道我来自activityA还是activityB 我该如何解决这个问题。。。有什么建议吗 我使用Deep

我有两个活动使用相同的意图过滤器接收器,具有相同的优先级,比如activity1和activity2。
每一页都向我介绍扩展IntentService的其他两个不同活动的意图,即activity1-->activityA和activity2-->activityB。
当它们被设置在这两个新页面上时,activityX会被触发,之后它会将我带回我的原始页面。
在这种情况下,activityX不知道我来自activityA还是activityB


我该如何解决这个问题。。。有什么建议吗

我使用DeepLinkingActivity来确定最后运行的是哪个活动

public Integer isAppInThisClass(Context ctx) {
    ActivityManager activityManager = (ActivityManager) ctx.getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> services = activityManager.getRunningTasks(Integer.MAX_VALUE);

    if (services.size() > 0 && services.get(0).topActivity.getClassName().toString().equalsIgnoreCase("com.example.example.example.activityA")) {
        return 1;
    }
    if (services.size() > 0 && services.get(0).topActivity.getClassName().toString().equalsIgnoreCase("com.example.example.example.activityB")) {
        return 2;
    }
    return 3;
}
public Integer IsAppingThisClass(上下文ctx){
ActivityManager ActivityManager=(ActivityManager)ctx.getApplicationContext().getSystemService(Context.ACTIVITY_服务);
列表服务=activityManager.getRunningTasks(整数.MAX_值);
if(services.size()>0&&services.get(0).topActivity.getClassName().toString().equalsIgnoreCase(“com.example.example.example.activityA”)){
返回1;
}
if(services.size()>0&&services.get(0).topActivity.getClassName().toString().equalsIgnoreCase(“com.example.example.example.activityB”)){
返回2;
}
返回3;
}

它工作得很好。

这很有趣。我试试看。