Android activitygroup推送startactivityforresult

Android activitygroup推送startactivityforresult,android,android-intent,Android,Android Intent,我有以下活动组 public class ActivityStack extends ActivityGroup{ public static int settingsFlag=0; private Stack<String> stack; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我有以下活动组

public class ActivityStack extends ActivityGroup{

    public static int settingsFlag=0;
    private Stack<String> stack;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (stack == null)
            stack = new Stack<String>();
        // start default activity
        settingsFlag=1;
        push("FirstStackActivity", new Intent(this, ChannelsActivity.class));
    }

    @Override
    public void finishFromChild(Activity child) {
        pop();
    }

    @Override
    public void onBackPressed() {
        pop();
    }

    public void push(String id, Intent intent) {



        Window window = getLocalActivityManager().startActivity(id, intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
        if (window != null) {
            stack.push(id);    

            setContentView(window.getDecorView());
        }

    }

    public void pop() {
        if (stack.size() == 1)
        {
            if (getParent() instanceof MainActivity) {
                ((MainActivity) getParent()).changeToMainTabs();
            } 
        } else {
        LocalActivityManager manager = getLocalActivityManager();
        manager.destroyActivity(stack.pop(), true);
        if (stack.size() > 0) {
            Intent lastIntent = manager.getActivity(stack.peek()).getIntent();
            Window newWindow = manager.startActivity(stack.peek(), lastIntent);    
            setContentView(newWindow.getDecorView());
        }
        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        //what is the current activity?
        menu.add(0, 0, 0, "holder");
        return true;
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu)
    {
        //start a new
        menu.clear();
        //add some menu options
        getLocalActivityManager().getCurrentActivity().onPrepareOptionsMenu(menu);
        return super.onPrepareOptionsMenu(menu);
    }
}

我怎样才能做到这一点?有人能帮忙吗?

要接收推送,请在您的主要群组活动中尝试以下代码'

   @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
//code for receive the data
    } 

意味着将上述代码放入ActivityStack activity

中,您的问题是?我的问题是,我不知道如何使用ActivityGroup解决startActivityForResult。我已经编辑了我的codeCheck我的答案这里我的应用程序在线失败:Intent lastIntent=manager.getActivity(stack.peek()).getIntent();在MainStack方法中。我设法解决了它。thx。你的回答对我帮助很大!所以我应该把activityStack.push(“SQecondActivity,countryIntent”)放进去?或者我应该在push方法中使用什么?我知道我需要使用onACtivityResult的metnof,以防我使用startActivityForResult。我编辑了我的代码。是的,因为它将返回值给其父级而不是子级。你必须将其放入,无需编辑谢谢你的重播,但我不需要使用onACtivityResult。我已更改了我的代码,无意中。我的应用程序在Intent lastIntent=manager.getActivity(stack.peek()).getIntent()行失败;在我调用的第二个活动中,实际上是一个listActivity,我调用了一个finish方法。好的,但请始终记住,在activitygroup中,它将返回值传递给其父级,而不是子级。我认为您获得了解决方案祝贺。
   @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
//code for receive the data
    }