浏览代码

url: patched to compile on Android.

Ryan C. Gordon 5 年之前
父节点
当前提交
5f68812249
共有 4 个文件被更改,包括 8 次插入1 次删除
  1. 5 0
      src/core/android/SDL_android.c
  2. 2 0
      src/core/android/SDL_android.h
  3. 0 1
      src/misc/SDL_url.c
  4. 1 0
      src/misc/android/SDL_sysurl.c

+ 5 - 0
src/core/android/SDL_android.c

@@ -2284,6 +2284,11 @@ void *SDL_AndroidGetActivity(void)
     return (*env)->CallStaticObjectMethod(env, mActivityClass, midGetContext);
     return (*env)->CallStaticObjectMethod(env, mActivityClass, midGetContext);
 }
 }
 
 
+jclass Android_GetActivityClass(void)
+{
+    return mActivityClass;
+}
+
 int SDL_GetAndroidSDKVersion(void)
 int SDL_GetAndroidSDKVersion(void)
 {
 {
     static int sdk_version;
     static int sdk_version;

+ 2 - 0
src/core/android/SDL_android.h

@@ -140,6 +140,8 @@ void Android_ActivityMutex_Lock(void);
 void Android_ActivityMutex_Unlock(void);
 void Android_ActivityMutex_Unlock(void);
 void Android_ActivityMutex_Lock_Running(void);
 void Android_ActivityMutex_Lock_Running(void);
 
 
+jclass Android_GetActivityClass(void);
+
 /* Ends C function definitions when using C++ */
 /* Ends C function definitions when using C++ */
 #ifdef __cplusplus
 #ifdef __cplusplus
 /* *INDENT-OFF* */
 /* *INDENT-OFF* */

+ 0 - 1
src/misc/SDL_url.c

@@ -18,7 +18,6 @@
      misrepresented as being the original software.
      misrepresented as being the original software.
   3. This notice may not be removed or altered from any source distribution.
   3. This notice may not be removed or altered from any source distribution.
 */
 */
-
 #include "../SDL_internal.h"
 #include "../SDL_internal.h"
 #include "SDL_error.h"
 #include "SDL_error.h"
 
 

+ 1 - 0
src/misc/android/SDL_sysurl.c

@@ -25,6 +25,7 @@
 int
 int
 SDL_SYS_OpenURL(const char *url)
 SDL_SYS_OpenURL(const char *url)
 {
 {
+    jclass mActivityClass = Android_GetActivityClass();
     JNIEnv *env = Android_JNI_GetEnv();
     JNIEnv *env = Android_JNI_GetEnv();
     jstring jurl = (*env)->NewStringUTF(env, url);
     jstring jurl = (*env)->NewStringUTF(env, url);
     const int ret = (*env)->CallStaticIntMethod(env, mActivityClass, midOpenURL, jurl);
     const int ret = (*env)->CallStaticIntMethod(env, mActivityClass, midOpenURL, jurl);