const char * get_sdcarddir() { static char buf[2000]; jstring s = (jstring)_jni_callObjectMethod( _al_android_get_jnienv(), _al_android_activity_object(), "getSDCardPrivateDir", "()Ljava/lang/String;" ); if (s == NULL) return ""; const char *native = _al_android_get_jnienv()->GetStringUTFChars(s, 0); strcpy(buf, native); _al_android_get_jnienv()->ReleaseStringUTFChars(s, native); _al_android_get_jnienv()->DeleteLocalRef(s); return buf; }
static char *android_get_clipboard_text(ALLEGRO_DISPLAY *display) { JNIEnv * env = (JNIEnv *)_al_android_get_jnienv(); jobject jtext = _jni_callObjectMethod(env, _al_android_activity_object(), "getClipboardText", "()Ljava/lang/String;"); jsize len = _jni_call(env, jsize, GetStringUTFLength, jtext); const char *str = _jni_call(env, const char *, GetStringUTFChars, jtext, NULL); char * text = al_malloc(len+1); (void) display; text = _al_sane_strncpy(text, str, len); _jni_callv(env, ReleaseStringUTFChars, jtext, str); _jni_callv(env, DeleteLocalRef, jtext); return text; }