void HandleDex::execAT(jobject mainATObj, const char *tName) {
LOGD("execAT")
LOGI(" tName : %s", tName)
jobject targetActivityClassObject = TACO::getInstance().get(tName);
CHECK_STEP_JNI_NULL_STATUS(targetActivityClassObject)
jclass intentClass = env->FindClass(mStringConfig->TS_android_content_Intent());
jmethodID intentConstructorMethodID = env->GetMethodID(intentClass, mStringConfig->TS_init(), mStringConfig->TS_Intent_init_sign());
jobject intentObject = env->NewObject(intentClass, intentConstructorMethodID, mainATObj, targetActivityClassObject);
jfieldID newTaskFlag = env->GetStaticFieldID(intentClass, "FLAG_ACTIVITY_NEW_TASK", "I");
jint newTaskValue = env->GetStaticIntField(intentClass, newTaskFlag);
jmethodID setFlagsMethod = env->GetMethodID(intentClass, "setFlags", "(I)Landroid/content/Intent;");
jobject intentWithFlagsObj = env->CallObjectMethod(intentObject, setFlagsMethod, newTaskValue);
jclass targetActivityClass = env->GetObjectClass(targetActivityClassObject);
jmethodID newInstanceId = env->GetMethodID(targetActivityClass,
mStringConfig->TS_newInstance(),
mStringConfig->TS_Ljava_lang_Object());
auto targetActivityObject = (jobject) env->CallObjectMethod(targetActivityClassObject, newInstanceId);
jclass targetActivityJClass = env->GetObjectClass(targetActivityObject);
CHECK_STEP_JNI_NULL_STATUS(targetActivityJClass)
printJclassName(NAME(targetActivityJClass),targetActivityJClass);
jclass mainATObjectClass = env->GetObjectClass(mainATObj);
jmethodID startActivityMethodID = env->GetMethodID(mainATObjectClass, mStringConfig->TS_startActivity(), mStringConfig->TS_startActivity_sign());
env->CallVoidMethod(mainATObj, startActivityMethodID, intentWithFlagsObj);
env->DeleteLocalRef(intentClass);
env->DeleteLocalRef(intentObject);
}