I want to start a new Intent dynamically. Therefore setClassName seems the best choice.
First, I define 3 activity in Manifest
Use this code and you'll be fine.
Intent intent = new Intent();
String resourcePackageName = getResources().getResourcePackageName(R.string.some_defined_resource);
intent.setClassName(getApplicationContext().getPackageName(),resourcePackageName + ".SubPackageName[/if any/].ClassName");
startActivity(intent);