gpg::AndroidSupport

#include <android_support.h>

الوظائف التي تمكِّن دعم الإصدار السابق من Android 4.0.

ملخّص

عمليات معاودة الاتصال في مراحل نشاط Android

بالنسبة إلى التطبيقات التي تستهدف الأجهزة التي تعمل بالإصدار 2.3 أو 3.x من نظام التشغيل Android (إصدار واجهة برمجة التطبيقات قبل الإصدار 14)، لا توفّر "خدمات ألعاب Play" طريقة لتلقّي استدعاءات مراحل النشاط تلقائيًا. في هذه الحالات، تعتمد "خدمات ألعاب Play" على صاحب النشاط لإبلاغه بالأحداث في مراحل نشاطه. يجب أن يستدعي أي نشاط يتضمن عنصر GameServices وظائف AndroidSupport::* من داخل وظائف معاودة الاتصال الخاصة بمراحل نشاطها. تتطابق الوسيطات في هذه الدوال مع تلك التي يوفرها Android، لذلك لا يلزم إجراء معالجة إضافية.

بالنسبة إلى التطبيقات التي تستهدف الإصدار 4.0 من نظام التشغيل Android أو الإصدارات الأحدث (إصدار واجهة برمجة التطبيقات أكبر من أو يساوي 14)، تكون معظم عمليات استدعاء الدوال هذه غير ضرورية. وفي هذه التطبيقات، يجب فقط استدعاء وظيفة OnActivityResult.

مثال على رمز للعبة ما قبل الإصدار 4.0 من Android باستخدام نشاط Java

في نشاط 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);
}

مثال على رمز للعبة تعمل بالإصدار 4.0 من نظام التشغيل Android أو الإصدارات الأحدث باستخدام نشاط Java

في نشاط 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 لنشاط Java.
OnActivityDestroyed(JNIEnv *env, jobject activity)
void
يجب أن يتم طلب إعادة توجيه البيانات من OnActivityDestroyed في نشاط Java.
OnActivityPaused(JNIEnv *env, jobject activity)
void
يجب أن يتم طلب إعادة توجيه البيانات من سجلّ OnActivity مؤقتًا لنشاطك في Java.
OnActivityResult(JNIEnv *env, jobject activity, jint request_code, jint result_code, jobject result)
void
يجب أن يتم طلب إعادة توجيه البيانات من OnActivityResult لنشاط Java.
OnActivityResumed(JNIEnv *env, jobject activity)
void
يجب أن يتم طلب إعادة توجيه البيانات من OnActivityResumed لنشاط Java.
OnActivitySaveInstanceState(JNIEnv *env, jobject activity, jobject out_state)
void
يجب أن يتم استدعاؤه لإعادة توجيه البيانات من OnActivitySaveInstanceState لنشاط Java.
OnActivityStarted(JNIEnv *env, jobject activity)
void
يجب أن يتم طلب إعادة توجيه البيانات من OnActivityStarted لنشاط Java.
OnActivityStopped(JNIEnv *env, jobject activity)
void
يجب أن يتم استدعاؤه لإعادة توجيه البيانات من OnActivityStopped لنشاط Java.

الدوال الثابتة العامة

OnActivityCreated

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

يجب أن يتم طلب إعادة توجيه البيانات من onActivityCreated الخاصة بنشاط Java.

ضروري فقط لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivityDestroyed

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

يجب أن يتم طلب إعادة توجيه البيانات من OnActivityDestroyed في نشاط Java.

ضروري فقط لدعم الإصدار 2.3.x من Android.

OnActivityPaused

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

يجب أن يتم طلب إعادة توجيه البيانات من سجلّ OnActivity مؤقتًا لنشاطك في Java.

ضروري فقط لدعم الإصدار 2.3.x من Android.

OnActivityResult

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

يجب أن يتم طلب إعادة توجيه البيانات من OnActivityResult لنشاط Java.

OnActivityResumed

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

يجب أن يتم طلب إعادة توجيه البيانات من OnActivityResumed لنشاط Java.

ضروري فقط لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivitySaveInstanceState

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

يجب أن يتم استدعاؤه لإعادة توجيه البيانات من OnActivitySaveInstanceState لنشاط Java.

ضروري فقط لدعم الإصدار 2.3.x من نظام التشغيل Android.

OnActivityStarted

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

يجب أن يتم طلب إعادة توجيه البيانات من OnActivityStarted لنشاط جافا.

ضروري فقط لدعم الإصدار 2.3.x من Android.

OnActivityStopped

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

يجب أن يتم استدعاؤه لإعادة توجيه البيانات من OnActivityStopped لنشاط Java.

ضروري فقط لدعم الإصدار 2.3.x من نظام التشغيل Android.