gpg:: AndroidSupport
#include <android_support.h>
Funciones que habilitan la compatibilidad con versiones anteriores a Android 4.0.
Resumen
Devoluciones de llamada de ciclo de vida de Android
En el caso de las apps que se orientan a dispositivos Android 2.3 o 3.x (versión de API anterior a la 14), los Servicios de juego de Play no tienen forma de recibir automáticamente devoluciones de llamada del ciclo de vida de la actividad. En estos casos, los Servicios de juego de Play dependen de la actividad propietaria para notificarle los eventos del ciclo de vida. Cualquier actividad que posea un objeto GameServices debe llamar a las funciones AndroidSupport::* desde sus propias funciones de devolución de llamada de ciclo de vida. Los argumentos de estas funciones coinciden con los que proporciona Android, por lo que no se necesita ningún procesamiento adicional.
En el caso de las apps que se orientan a Android 4.0 y versiones posteriores (versión de API superior o igual a 14), la mayoría de estas llamadas a función no son necesarias. En el caso de esas apps, solo se debe llamar a la función OnActivityResult.
Ejemplo de código para un juego anterior a Android 4.0 que usa una actividad de Java
En tu actividad de Java, agrega lo siguiente. Es posible que debas combinar este código con tus funciones de ciclo de vida existentes.
import android.app.Activity; import android.content.Intent; public class YourActivity extends Activity { protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); nativeOnActivityCreated(this, savedInstanceState); } protected void onDestroy(){ super.onDestroy(); nativeOnActivityDestroyed(this); } protected void onPause(){ super.onPause(); nativeOnActivityPaused(this); } protected void onResume(){ super.onResume(); nativeOnActivityResumed(this); } protected void onStart(){ super.onStart(); nativeOnActivityStarted(this); } protected void onStop(){ super.onStop(); nativeOnActivityStopped(this); } protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); nativeOnActivitySaveInstanceState(this, outState); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); nativeOnActivityResult(this, requestCode, resultCode, data); } // Implemented in C++. private static native void nativeOnActivityCreated( Activity activity, Bundle savedInstanceState); private static native void nativeOnActivityDestroyed(Activity activity); private static native void nativeOnActivityPaused(Activity activity); private static native void nativeOnActivityResumed(Activity activity); private static native void nativeOnActivitySaveInstanceState( Activity activity, Bundle outState); private static native void nativeOnActivityStarted(Activity activity); private static native void nativeOnActivityStopped(Activity activity); private static native void nativeOnActivityResult( Activity activity, int requestCode, int resultCode, Intent data); }
void Java_com_example_yourapp_YourActivity_nativeOnActivityCreated( JNIEnv* env, jobject thiz, jobject activity, jobject saved_instance_state) { gpg::AndroidSupport::OnActivityCreated(env, activity, saved_instance_state); } void Java_com_example_yourapp_YourActivity_nativeOnActivityDestroyed( JNIEnv* env, jobject thiz, jobject activity) { gpg::AndroidSupport::OnActivityDestroyed(env, activity); } void Java_com_example_yourapp_YourActivity_nativeOnActivityPaused( JNIEnv* env, jobject thiz, jobject activity) { gpg::AndroidSupport::OnActivityPaused(env, activity); } void Java_com_example_yourapp_YourActivity_nativeOnActivityResumed( JNIEnv* env, jobject thiz, jobject activity) { gpg::AndroidSupport::OnActivityResumed(env, activity); } void Java_com_example_yourapp_YourActivity_nativeOnActivitySaveInstanceState( JNIEnv* env, jobject thiz, jobject activity, jobject out_state) { gpg::AndroidSupport::OnActivitySaveInstanceState(env, activity, out_state); } void Java_com_example_yourapp_YourActivity_nativeOnActivityStarted( JNIEnv* env, jobject thiz, jobject activity) { gpg::AndroidSupport::OnActivityStarted(env, activity); } void Java_com_example_yourapp_YourActivity_nativeOnActivityStopped( JNIEnv* env, jobject thiz, jobject activity) { gpg::AndroidSupport::OnActivityStopped(env, activity); } void Java_com_example_yourapp_YourActivity_nativeOnActivityResult( JNIEnv* env, jobject thiz, jobject activity, jint request_code, jint result_code, jobject data) { gpg::AndroidSupport::OnActivityResult( env, activity, request_code, result_code, data); }
Código de ejemplo para un juego para Android 4.0 y versiones posteriores que usa una actividad de Java
En tu actividad de Java, agrega lo siguiente. Es posible que debas combinar este código con tus funciones de ciclo de vida existentes.
public class YourActivity extends Activity { protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); nativeOnActivityResult(this, requestCode, resultCode, data); } // Implemented in C++. private static native void nativeOnActivityResult( Activity activity, int requestCode, int resultCode, Intent data); }
void Java_com_example_yourapp_YourActivity_nativeOnActivityResult( JNIEnv* env, jobject thiz, jobject activity, jint request_code, jint result_code, jobject data) { gpg::AndroidSupport::OnActivityResult( env, activity, request_code, result_code, data); }
Funciones estáticas públicas |
|
---|---|
OnActivityCreated(JNIEnv *env, jobject activity, jobject saved_instance_state)
|
void
Se debe llamar para reenviar datos desde onActivityCreated de tu actividad de Java.
|
OnActivityDestroyed(JNIEnv *env, jobject activity)
|
void
Se debe llamar para reenviar datos desde OnActivityDestroyed de tu actividad de Java.
|
OnActivityPaused(JNIEnv *env, jobject activity)
|
void
Se debe llamar para reenviar datos desde OnActivityPaused de tu actividad de Java.
|
OnActivityResult(JNIEnv *env, jobject activity, jint request_code, jint result_code, jobject result)
|
void
Se debe llamar para reenviar datos desde OnActivityResult de tu actividad de Java.
|
OnActivityResumed(JNIEnv *env, jobject activity)
|
void
Se debe llamar para reenviar datos desde OnActivityResumed de tu actividad de Java.
|
OnActivitySaveInstanceState(JNIEnv *env, jobject activity, jobject out_state)
|
void
Se debe llamar para reenviar datos desde OnActivitySaveInstanceState de tu actividad de Java.
|
OnActivityStarted(JNIEnv *env, jobject activity)
|
void
Se debe llamar para reenviar datos desde OnActivityStarted de tu actividad de Java.
|
OnActivityStopped(JNIEnv *env, jobject activity)
|
void
Se debe llamar para reenviar datos desde OnActivityStopped de tu actividad de Java.
|
Funciones estáticas públicas
OnActivityCreated
void gpg::AndroidSupport::OnActivityCreated( JNIEnv *env, jobject activity, jobject saved_instance_state )
Se debe llamar para reenviar datos de onActivityCreated de tu actividad de Java.
Solo es necesario para la compatibilidad con Android 2.3.x.
OnActivityDestroyed
void gpg::AndroidSupport::OnActivityDestroyed( JNIEnv *env, jobject activity )
Se debe llamar para reenviar datos desde OnActivityDestroyed de tu actividad de Java.
Solo es necesario para la compatibilidad con Android 2.3.x.
OnActivityPaused
void gpg::AndroidSupport::OnActivityPaused( JNIEnv *env, jobject activity )
Se debe llamar para reenviar datos desde OnActivityPaused de tu actividad de Java.
Solo es necesario para la compatibilidad con Android 2.3.x.
OnActivityResult
void gpg::AndroidSupport::OnActivityResult( JNIEnv *env, jobject activity, jint request_code, jint result_code, jobject result )
Se debe llamar para reenviar datos desde OnActivityResult de tu actividad de Java.
OnActivityResumed
void gpg::AndroidSupport::OnActivityResumed( JNIEnv *env, jobject activity )
Se debe llamar para reenviar datos desde OnActivityResumed de tu actividad de Java.
Solo es necesario para la compatibilidad con Android 2.3.x.
OnActivitySaveInstanceState
void gpg::AndroidSupport::OnActivitySaveInstanceState( JNIEnv *env, jobject activity, jobject out_state )
Se debe llamar para reenviar datos desde OnActivitySaveInstanceState de tu actividad de Java.
Solo es necesario para la compatibilidad con Android 2.3.x.
OnActivityStarted
void gpg::AndroidSupport::OnActivityStarted( JNIEnv *env, jobject activity )
Se debe llamar para reenviar datos desde OnActivityStarted de tu actividad de Java.
Solo es necesario para la compatibilidad con Android 2.3.x.
OnActivityStopped
void gpg::AndroidSupport::OnActivityStopped( JNIEnv *env, jobject activity )
Se debe llamar para reenviar datos desde OnActivityStopped de tu actividad de Java.
Solo es necesario para la compatibilidad con Android 2.3.x.