gpg:: AndroidSupport
#include <android_support.h>
Funções que permitem o suporte ao Android 4.0 e versões anteriores.
Resumo
Callbacks do ciclo de vida do Android
Para apps destinados a dispositivos Android 2.3 ou 3.x (versão da API anterior à 14), o Play Game Services não tem como receber automaticamente callbacks de ciclo de vida da atividade. Nesses casos, os Serviços de jogos do Google Play dependem da atividade proprietária para receber notificações sobre eventos do ciclo de vida. Qualquer atividade que tenha um objeto GameServices precisa chamar as funções AndroidSupport::* nas próprias funções de callback do ciclo de vida. Os argumentos nessas funções correspondem aos fornecidos pelo Android. Portanto, nenhum processamento adicional é necessário.
Para apps direcionados ao Android 4.0 ou mais recente (versão da API maior ou igual a 14), a maioria dessas chamadas de função não é necessária. Para esses apps, apenas a função OnActivityResult precisa ser chamada.
Exemplo de código para um jogo anterior ao Android 4.0 que usa uma atividade Java
Na atividade Java, adicione o seguinte. Talvez seja necessário mesclar esse código com as funções de ciclo de vida atuais.
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); }
Exemplo de código para um jogo do Android 4.0 ou mais recente que usa uma atividade Java
Na atividade Java, adicione o seguinte. Talvez seja necessário mesclar esse código com as funções de ciclo de vida atuais.
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); }
Funções estáticas públicas |
|
---|---|
OnActivityCreated(JNIEnv *env, jobject activity, jobject saved_instance_state)
|
void
Precisa ser chamado para encaminhar dados da onActivityCreated da sua atividade Java.
|
OnActivityDestroyed(JNIEnv *env, jobject activity)
|
void
Precisa ser chamado para encaminhar dados de OnActivityDestroyed da atividade Java.
|
OnActivityPaused(JNIEnv *env, jobject activity)
|
void
Precisa ser chamado para encaminhar dados da OnActivityPaused da atividade Java.
|
OnActivityResult(JNIEnv *env, jobject activity, jint request_code, jint result_code, jobject result)
|
void
Precisa ser chamado para encaminhar dados da OnActivityResult da atividade Java.
|
OnActivityResumed(JNIEnv *env, jobject activity)
|
void
Precisa ser chamado para encaminhar dados da OnActivityResumed da sua atividade Java.
|
OnActivitySaveInstanceState(JNIEnv *env, jobject activity, jobject out_state)
|
void
Precisa ser chamado para encaminhar dados de OnActivitySaveInstanceState da atividade Java.
|
OnActivityStarted(JNIEnv *env, jobject activity)
|
void
Precisa ser chamado para encaminhar dados de OnActivityStarted da atividade Java.
|
OnActivityStopped(JNIEnv *env, jobject activity)
|
void
Precisa ser chamado para encaminhar dados de OnActivityStopped da sua atividade Java.
|
Funções estáticas públicas
OnActivityCreated
void gpg::AndroidSupport::OnActivityCreated( JNIEnv *env, jobject activity, jobject saved_instance_state )
Precisa ser chamado para encaminhar dados da onActivityCreated da sua atividade Java.
Somente necessário para suporte ao Android 2.3.x.
OnActivityDestroyed
void gpg::AndroidSupport::OnActivityDestroyed( JNIEnv *env, jobject activity )
Precisa ser chamado para encaminhar dados de OnActivityDestroyed da atividade Java.
Somente necessário para suporte ao Android 2.3.x.
OnActivityPaused
void gpg::AndroidSupport::OnActivityPaused( JNIEnv *env, jobject activity )
Precisa ser chamado para encaminhar dados da OnActivityPaused da atividade Java.
Somente necessário para suporte ao Android 2.3.x.
OnActivityResult
void gpg::AndroidSupport::OnActivityResult( JNIEnv *env, jobject activity, jint request_code, jint result_code, jobject result )
Precisa ser chamado para encaminhar dados da OnActivityResult da atividade Java.
OnActivityResumed
void gpg::AndroidSupport::OnActivityResumed( JNIEnv *env, jobject activity )
Precisa ser chamado para encaminhar dados da OnActivityResumed da sua atividade Java.
Somente necessário para suporte ao Android 2.3.x.
OnActivitySaveInstanceState
void gpg::AndroidSupport::OnActivitySaveInstanceState( JNIEnv *env, jobject activity, jobject out_state )
Precisa ser chamado para encaminhar dados de OnActivitySaveInstanceState da atividade Java.
Somente necessário para suporte ao Android 2.3.x.
OnActivityStarted
void gpg::AndroidSupport::OnActivityStarted( JNIEnv *env, jobject activity )
Precisa ser chamado para encaminhar dados de OnActivityStarted da atividade Java.
Somente necessário para suporte ao Android 2.3.x.
OnActivityStopped
void gpg::AndroidSupport::OnActivityStopped( JNIEnv *env, jobject activity )
Precisa ser chamado para encaminhar dados de OnActivityStopped da sua atividade Java.
Somente necessário para suporte ao Android 2.3.x.