CLOUD: Add openurl-android.cpp
This commit is contained in:
parent
40dfb0b4f1
commit
ded8cdf0a0
6 changed files with 74 additions and 1 deletions
|
@ -76,6 +76,7 @@ bool JNI::_ready_for_events = 0;
|
|||
|
||||
jmethodID JNI::_MID_getDPI = 0;
|
||||
jmethodID JNI::_MID_displayMessageOnOSD = 0;
|
||||
jmethodID JNI::_MID_openUrl = 0;
|
||||
jmethodID JNI::_MID_setWindowCaption = 0;
|
||||
jmethodID JNI::_MID_showVirtualKeyboard = 0;
|
||||
jmethodID JNI::_MID_getSysArchives = 0;
|
||||
|
@ -232,6 +233,25 @@ void JNI::displayMessageOnOSD(const char *msg) {
|
|||
env->DeleteLocalRef(java_msg);
|
||||
}
|
||||
|
||||
bool JNI::openUrl(const char *url) {
|
||||
bool success = true;
|
||||
JNIEnv *env = JNI::getEnv();
|
||||
jstring javaUrl = env->NewStringUTF(url);
|
||||
|
||||
env->CallVoidMethod(_jobj, _MID_openUrl, javaUrl);
|
||||
|
||||
if (env->ExceptionCheck()) {
|
||||
LOGE("Failed to open URL");
|
||||
|
||||
env->ExceptionDescribe();
|
||||
env->ExceptionClear();
|
||||
success = false;
|
||||
}
|
||||
|
||||
env->DeleteLocalRef(javaUrl);
|
||||
return success;
|
||||
}
|
||||
|
||||
void JNI::setWindowCaption(const char *caption) {
|
||||
JNIEnv *env = JNI::getEnv();
|
||||
jstring java_caption = env->NewStringUTF(caption);
|
||||
|
@ -411,6 +431,7 @@ void JNI::create(JNIEnv *env, jobject self, jobject asset_manager,
|
|||
FIND_METHOD(, setWindowCaption, "(Ljava/lang/String;)V");
|
||||
FIND_METHOD(, getDPI, "([F)V");
|
||||
FIND_METHOD(, displayMessageOnOSD, "(Ljava/lang/String;)V");
|
||||
FIND_METHOD(, openUrl, "(Ljava/lang/String;)V");
|
||||
FIND_METHOD(, showVirtualKeyboard, "(Z)V");
|
||||
FIND_METHOD(, getSysArchives, "()[Ljava/lang/String;");
|
||||
FIND_METHOD(, initSurface, "()Ljavax/microedition/khronos/egl/EGLSurface;");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue