LocalActivityManager m = new LocalActivityManager(this, true);
m.dispatchCreate(savedInstanceState);
Intent iActivity = new Intent(this, MyActivity.class);
final Window w = m.startActivity("MyActivity", iActivity);
View view = w.getDecorView();
frameLayout.addView(view, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.FILL_PARENT));
m.dispatchCreate(savedInstanceState);
Intent iActivity = new Intent(this, MyActivity.class);
final Window w = m.startActivity("MyActivity", iActivity);
View view = w.getDecorView();
frameLayout.addView(view, new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.FILL_PARENT));
而且把一个窗口的内容加入另一个窗口又是为什么呢,android支持吗,不太理解。
源代码中的TabHost.java就是使用了LocalActivityManager才创建了多个view的。可是源代码这么做,Activity的onResume会执行。
在TabHost.java文件中,就是把activity的view取出来了。然后tab对view进行管理。可以查看TabHost.java的第644行。
如果你将m.dispatchCreate(savedInstanceState); 改为m.dispatchResume(); 那么下个 activity 就会跑到onResume中了。
问题解决了,需要调用LocalActivityManager的disptchResume()函数才可以唤起activity的onResume函数。