Activity ac = (Activity) context; ActivityGroup ag = (ActivityGroup) ac.getParent(); Intent i = new Intent(SummaryCostScreen.this,PermissionsScreen.class); View view = ag.getLocalActivityManager().startActivity("activity9",i.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); this.setContentView(view);
private void initSlidingDrawerContent() { mTestContent.removeAllViews(); //View view = LayoutInflater.from(this).inflate(R.layout.act_test, null); View view = activityToView(this, new Intent(MainActivity.this, TestActivity.class)); mTestContent.addView(view); } private View activityToView(ActivityGroup parent, Intent intent) { LocalActivityManager mLocalActivityManager = parent.getLocalActivityManager(); final Window w = mLocalActivityManager.startActivity("TagName", intent); final View wd = w != null ? w.getDecorView() : null; if (wd != null) { wd.setVisibility(View.VISIBLE); wd.setFocusableInTouchMode(true); ((ViewGroup) wd) .setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS); } return wd; }
/** * changeLocalActivityManager * * @param context Context */ private void changeLocalActivityManager(Context context) { if (mProxyLocalActivityManager == null && !(mTargetActivity instanceof ActivityProxy)) { try { ActivityGroup tabActivity = (ActivityGroup) mTargetActivity; mProxyLocalActivityManager = new LocalActivityManagerProxy(tabActivity.getLocalActivityManager(), mTargetPackageName); JavaCalls.setField(tabActivity, "mLocalActivityManager", mProxyLocalActivityManager); // Field field = ActivityGroup.class.getDeclaredField("mLocalActivityManager"); // field.setAccessible(true); // field.set(tabActivity, mProxyLocalActivityManager); } catch (Exception e) { if (DEBUG) { e.printStackTrace(); } } } }
LocalActivityManager lam = act.getLocalActivityManager(); lam.dispatchCreate(state); tabView.setup(lam);