mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-21 02:38:14 +00:00
Android: add helper function to open an URL/URI (see bug 2783)
This commit is contained in:
@@ -311,6 +311,7 @@ static jmethodID midIsScreenKeyboardShown;
|
||||
static jmethodID midIsTablet;
|
||||
static jmethodID midManualBackButton;
|
||||
static jmethodID midMinimizeWindow;
|
||||
static jmethodID midOpenURL;
|
||||
static jmethodID midRequestPermission;
|
||||
static jmethodID midSendMessage;
|
||||
static jmethodID midSetActivityTitle;
|
||||
@@ -589,6 +590,7 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl
|
||||
midIsTablet = (*env)->GetStaticMethodID(env, mActivityClass, "isTablet", "()Z");
|
||||
midManualBackButton = (*env)->GetStaticMethodID(env, mActivityClass, "manualBackButton", "()V");
|
||||
midMinimizeWindow = (*env)->GetStaticMethodID(env, mActivityClass, "minimizeWindow","()V");
|
||||
midOpenURL = (*env)->GetStaticMethodID(env, mActivityClass, "openURL", "(Ljava/lang/String;)I");
|
||||
midRequestPermission = (*env)->GetStaticMethodID(env, mActivityClass, "requestPermission", "(Ljava/lang/String;I)V");
|
||||
midSendMessage = (*env)->GetStaticMethodID(env, mActivityClass, "sendMessage", "(II)Z");
|
||||
midSetActivityTitle = (*env)->GetStaticMethodID(env, mActivityClass, "setActivityTitle","(Ljava/lang/String;)Z");
|
||||
@@ -618,6 +620,7 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl
|
||||
!midIsTablet ||
|
||||
!midManualBackButton ||
|
||||
!midMinimizeWindow ||
|
||||
!midOpenURL ||
|
||||
!midRequestPermission ||
|
||||
!midSendMessage ||
|
||||
!midSetActivityTitle ||
|
||||
@@ -2466,6 +2469,19 @@ SDL_bool SDL_AndroidRequestPermission(const char *permission)
|
||||
return Android_JNI_RequestPermission(permission);
|
||||
}
|
||||
|
||||
int SDL_AndroidOpenURL(const char *url)
|
||||
{
|
||||
JNIEnv *env = Android_JNI_GetEnv();
|
||||
int ret = -1;
|
||||
|
||||
if (url) {
|
||||
jstring jurl = (*env)->NewStringUTF(env, url);
|
||||
ret = (*env)->CallStaticIntMethod(env, mActivityClass, midOpenURL, jurl);
|
||||
(*env)->DeleteLocalRef(env, jurl);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void Android_JNI_GetManifestEnvironmentVariables(void)
|
||||
{
|
||||
if (!mActivityClass || !midGetManifestEnvironmentVariables) {
|
||||
|
Reference in New Issue
Block a user