Assume we have two activities. Activity A and B. A is the parent activity and B is the child.
So A need to create an intent to start B. It should pass an extra data which is the name of the parent activity. Here in our example it should be 'A'. Here is the code,
Intent intent = new Intent();
intent.putExtra("ParentClassName","A");
startActivity(intent.setClass(A.this, B.class)); //we are starting activity 'B'
Now in activity B we need to override getSupportParentActivityIntent() and it should look like this,
@Override
public Intent getSupportParentActivityIntent() {
Intent parentIntent= getIntent();
//getting the parent class name
String className = parentIntent.getStringExtra("ParentClassName");
Intent newIntent=null;
try {
//you need to define the class with package name
newIntent = new Intent(B.this,Class.forName("com.myapplication."+className));
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return newIntent;
}