MCPcopy Create free account
hub / github.com/SFML/imgui-sfml / closeKeyboardIME

Function closeKeyboardIME

imgui-SFML.cpp:75–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73}
74
75int closeKeyboardIME()
76{
77 ANativeActivity* activity = sf::getNativeActivity();
78 JavaVM* vm = activity->vm;
79 JNIEnv* env = activity->env;
80 JavaVMAttachArgs attachargs;
81 attachargs.version = JNI_VERSION_1_6;
82 attachargs.name = "NativeThread";
83 attachargs.group = nullptr;
84 jint res = vm->AttachCurrentThread(&env, &attachargs);
85 if (res == JNI_ERR)
86 return EXIT_FAILURE;
87
88 jclass natact = env->FindClass("android/app/NativeActivity");
89 jclass context = env->FindClass("android/content/Context");
90
91 jfieldID fid = env->GetStaticFieldID(context, "INPUT_METHOD_SERVICE", "Ljava/lang/String;");
92 jobject svcstr = env->GetStaticObjectField(context, fid);
93
94 jmethodID getss = env->GetMethodID(natact, "getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;");
95 jobject imm_obj = env->CallObjectMethod(activity->clazz, getss, svcstr);
96
97 jclass imm_cls = env->GetObjectClass(imm_obj);
98 jmethodID toggleSoftInput = env->GetMethodID(imm_cls, "toggleSoftInput", "(II)V");
99
100 env->CallVoidMethod(imm_obj, toggleSoftInput, 1, 0);
101
102 env->DeleteLocalRef(imm_obj);
103 env->DeleteLocalRef(imm_cls);
104 env->DeleteLocalRef(svcstr);
105 env->DeleteLocalRef(context);
106 env->DeleteLocalRef(natact);
107
108 vm->DetachCurrentThread();
109
110 return EXIT_SUCCESS;
111}
112
113#endif
114#endif

Callers 1

UpdateFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected