gpg::AndroidSupport

#include <android_support.h>

Android 4.0 이전 지원을 사용 설정하는 함수입니다.

요약

Android 수명 주기 콜백

Android 2.3 또는 3.x 기기 (API 버전 14 미만)를 타겟팅하는 앱의 경우 Play 게임 서비스에서 활동 수명 주기 콜백을 자동으로 수신할 수 있는 방법이 없습니다. 이 경우 Play 게임즈 서비스는 소유한 활동을 사용하여 수명 주기 이벤트를 알립니다. GameServices 객체를 소유하는 모든 활동은 자체 수명 주기 콜백 함수 내에서 AndroidSupport::* 함수를 호출해야 합니다. 이러한 함수의 인수는 Android에서 제공하는 인수와 일치하므로 추가 처리가 필요하지 않습니다.

Android 4.0 이상 (API 버전 14 이상)을 타겟팅하는 앱의 경우 이러한 함수 호출 대부분이 필요하지 않습니다. 이러한 앱의 경우 OnActivityResult 함수만 호출해야 합니다.

Java 활동을 사용하는 Android 4.0 이전 게임의 코드 예

Java 활동에서 다음을 추가하세요. 이 코드를 기존 수명 주기 함수와 병합해야 할 수도 있습니다.

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);
}

Java 활동을 사용하는 Android 4.0 이상 게임의 코드 예

Java 활동에서 다음을 추가하세요. 이 코드를 기존 수명 주기 함수와 병합해야 할 수도 있습니다.

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);
}

공개 정적 함수

OnActivityCreated(JNIEnv *env, jobject activity, jobject saved_instance_state)
void
자바 활동의 onActivityCreated에서 데이터를 전달하려면 호출해야 합니다.
OnActivityDestroyed(JNIEnv *env, jobject activity)
void
자바 활동의 OnActivityDestroyed에서 데이터를 전달하려면 호출해야 합니다.
OnActivityPaused(JNIEnv *env, jobject activity)
void
자바 활동의 OnActivityPause에서 데이터를 전달하려면 호출해야 합니다.
OnActivityResult(JNIEnv *env, jobject activity, jint request_code, jint result_code, jobject result)
void
자바 활동의 OnActivityResult에서 데이터를 전달하려면 호출해야 합니다.
OnActivityResumed(JNIEnv *env, jobject activity)
void
자바 활동의 OnActivityResumed에서 데이터를 전달하려면 호출해야 합니다.
OnActivitySaveInstanceState(JNIEnv *env, jobject activity, jobject out_state)
void
자바 활동의 OnActivitySaveInstanceState에서 데이터를 전달하려면 호출해야 합니다.
OnActivityStarted(JNIEnv *env, jobject activity)
void
자바 활동의 OnActivityStarted에서 데이터를 전달하려면 호출해야 합니다.
OnActivityStopped(JNIEnv *env, jobject activity)
void
자바 활동의 OnActivitySTop에서 데이터를 전달하려면 호출해야 합니다.

공개 정적 함수

OnActivityCreated

void gpg::AndroidSupport::OnActivityCreated(
  JNIEnv *env,
  jobject activity,
  jobject saved_instance_state
)

자바 활동의 onActivityCreated에서 데이터를 전달하려면 호출해야 합니다.

Android 2.3.x 지원에만 필요합니다.

OnActivityDestroyed

void gpg::AndroidSupport::OnActivityDestroyed(
  JNIEnv *env,
  jobject activity
)

자바 활동의 OnActivityDestroyed에서 데이터를 전달하려면 호출해야 합니다.

Android 2.3.x 지원에만 필요합니다.

OnActivityPaused

void gpg::AndroidSupport::OnActivityPaused(
  JNIEnv *env,
  jobject activity
)

자바 활동의 OnActivityPause에서 데이터를 전달하려면 호출해야 합니다.

Android 2.3.x 지원에만 필요합니다.

OnActivityResult

void gpg::AndroidSupport::OnActivityResult(
  JNIEnv *env,
  jobject activity,
  jint request_code,
  jint result_code,
  jobject result
)

자바 활동의 OnActivityResult에서 데이터를 전달하려면 호출해야 합니다.

OnActivityResumed

void gpg::AndroidSupport::OnActivityResumed(
  JNIEnv *env,
  jobject activity
)

자바 활동의 OnActivityResumed에서 데이터를 전달하려면 호출해야 합니다.

Android 2.3.x 지원에만 필요합니다.

OnActivitySaveInstanceState

void gpg::AndroidSupport::OnActivitySaveInstanceState(
  JNIEnv *env,
  jobject activity,
  jobject out_state
)

자바 활동의 OnActivitySaveInstanceState에서 데이터를 전달하려면 호출해야 합니다.

Android 2.3.x 지원에만 필요합니다.

OnActivityStarted

void gpg::AndroidSupport::OnActivityStarted(
  JNIEnv *env,
  jobject activity
)

자바 활동의 OnActivityStarted에서 데이터를 전달하려면 호출해야 합니다.

Android 2.3.x 지원에만 필요합니다.

OnActivityStopped

void gpg::AndroidSupport::OnActivityStopped(
  JNIEnv *env,
  jobject activity
)

자바 활동의 OnActivitySTop에서 데이터를 전달하려면 호출해야 합니다.

Android 2.3.x 지원에만 필요합니다.