gpg:: AndroidSupport
#include <android_support.h>
ฟังก์ชันที่เปิดใช้การสนับสนุนก่อน Android 4.0
สรุป
Callback สำหรับวงจรของ Android
สำหรับแอปที่กำหนดเป้าหมายเป็นอุปกรณ์ Android 2.3 หรือ 3.x (เวอร์ชัน API ก่อนหน้า 14) บริการเกมของ Play จะไม่มีทางได้รับการติดต่อกลับของวงจรกิจกรรมโดยอัตโนมัติ ในกรณีเหล่านี้ บริการเกมของ Play จะใช้กิจกรรมที่เป็นเจ้าของในการแจ้งเตือนเกี่ยวกับกิจกรรมในวงจร กิจกรรมใดๆ ที่เป็นเจ้าของออบเจ็กต์ GameServices ควรเรียกใช้ฟังก์ชัน AndroidSupport::* จากภายในฟังก์ชัน Callback ของวงจรของตัวเอง อาร์กิวเมนต์ในฟังก์ชันเหล่านี้ตรงกับอาร์กิวเมนต์ที่ Android ระบุ ดังนั้นจึงไม่ต้องประมวลผลเพิ่มเติม
สำหรับแอปที่กำหนดเป้าหมายเป็น Android 4.0 ขึ้นไป (เวอร์ชัน API มากกว่าหรือเท่ากับ 14) การเรียกใช้ฟังก์ชันเหล่านี้ส่วนใหญ่ไม่จำเป็น สำหรับแอปดังกล่าว จะต้องมีการเรียกใช้ฟังก์ชัน OnActivityResult เท่านั้น
ตัวอย่างโค้ดสำหรับเกมก่อน Android 4.0 ที่ใช้กิจกรรม 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); }
ตัวอย่างโค้ดสำหรับเกม Android 4.0 ขึ้นไปที่ใช้กิจกรรม 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
ระบบควรมีการเรียกใช้ให้ส่งต่อข้อมูลจาก OnActivityPause ของกิจกรรม 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
จำเป็นเฉพาะสำหรับการสนับสนุน Android 2.3.x เท่านั้น
OnActivityDestroyed
void gpg::AndroidSupport::OnActivityDestroyed( JNIEnv *env, jobject activity )
ควรมีการเรียกให้ส่งต่อข้อมูลจาก OnActivityDestroyed ของกิจกรรม Java
จำเป็นเฉพาะสำหรับการสนับสนุน Android 2.3.x เท่านั้น
OnActivityPaused
void gpg::AndroidSupport::OnActivityPaused( JNIEnv *env, jobject activity )
ระบบควรมีการเรียกใช้ให้ส่งต่อข้อมูลจาก OnActivityPause ของกิจกรรม Java
จำเป็นเฉพาะสำหรับการสนับสนุน Android 2.3.x เท่านั้น
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 ของคุณ
จำเป็นเฉพาะสำหรับการสนับสนุน Android 2.3.x เท่านั้น
OnActivitySaveInstanceState
void gpg::AndroidSupport::OnActivitySaveInstanceState( JNIEnv *env, jobject activity, jobject out_state )
ควรมีการเรียกให้ส่งต่อข้อมูลจาก OnActivitySaveInstanceState ของกิจกรรม Java
จำเป็นเฉพาะสำหรับการสนับสนุน Android 2.3.x เท่านั้น
OnActivityStarted
void gpg::AndroidSupport::OnActivityStarted( JNIEnv *env, jobject activity )
ควรมีการเรียกให้ส่งต่อข้อมูลจาก OnActivityStarted ของกิจกรรม Java
จำเป็นเฉพาะสำหรับการสนับสนุน Android 2.3.x เท่านั้น
OnActivityStopped
void gpg::AndroidSupport::OnActivityStopped( JNIEnv *env, jobject activity )
ระบบควรมีการเรียกให้ส่งต่อข้อมูลจาก OnActivityStopped ของกิจกรรม Java
จำเป็นเฉพาะสำหรับการสนับสนุน Android 2.3.x เท่านั้น