Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
gpg::AndroidInitialization
#include <android_initialization.h>
AndroidInitialization bao gồm 3 hàm khởi tạo, trong đó có chính xác một hàm phải được gọi.
Tóm tắt
Trong trường hợp Hoạt động Java chuẩn, bạn nên sử dụng JNI_OnLoad. Trong trường hợp NativeActivity mà JNI_OnLoad sẽ không được gọi, bạn nên sử dụng android_main hoặc ANativeActivity_onCreate. android_main được dùng khi tạo NativeActivity bằng android_native_app_glue.h. ANativeActivity_onCreate được dùng khi tạo một NativeActivity chỉ bằng native_activity.h. android_native_app_glue.h và native_activity.h là các tiêu đề Android mặc định.
Hàm khởi tạo thích hợp phải được gọi chính xác một lần trước khi gọi bất kỳ phương thức thực thể AndroidPlatformConfiguration nào. Đồng thời, hàm này phải được gọi trước khi tạo thực thể cho đối tượng GameServices. Bạn được phép tạo thực thể AndroidPlatformConfiguration trước một trong các lệnh gọi khởi chạy (ví dụ: nếu đối tượng cấu hình có phạm vi toàn cục), miễn là không có phương thức nào được gọi trước lệnh gọi khởi tạo. Các phương thức này chỉ cần được gọi một lần trong suốt thời gian hoạt động của chương trình gọi, chứ không phải một lần cho mỗi đối tượng GameServices được tạo.
Hàm tĩnh công khai
|
ANativeActivity_onCreate(ANativeActivity *native_activity, void *savedState, size_t savedStateSize)
|
void
Khi bạn sử dụng Dịch vụ trò chơi của Play với một NativeActivity chỉ dựa trên native_activity.h, ANativeActivity_onCreate phải được gọi trong ANativeActivity_onCreate của hoạt động trước mọi lệnh gọi khác đối với Dịch vụ trò chơi của Play.
|
JNI_OnLoad(JavaVM *jvm)
|
void
Khi sử dụng Dịch vụ trò chơi của Play với một Hoạt động Java chuẩn, JNI_OnLoad sẽ được gọi khi JNI_OnLoad của thư viện động được gọi.
|
android_main(struct android_app *app)
|
void
Khi sử dụng Dịch vụ trò chơi của Play với NativeActivity dựa trên android_native_app_glue.h, bạn phải gọi android_main trong android_main của hoạt động trước mọi lệnh gọi khác đối với Dịch vụ trò chơi của Play.
|
Hàm tĩnh công khai
ANativeActivity_onCreate
void gpg::AndroidInitialization::ANativeActivity_onCreate(
ANativeActivity *native_activity,
void *savedState,
size_t savedStateSize
)
Khi bạn sử dụng Dịch vụ trò chơi của Play với một NativeActivity chỉ dựa trên native_activity.h, ANativeActivity_onCreate phải được gọi trong ANativeActivity_onCreate của hoạt động trước mọi lệnh gọi khác đối với Dịch vụ trò chơi của Play.
JNI_OnLoad
void gpg::AndroidInitialization::JNI_OnLoad(
JavaVM *jvm
)
Khi sử dụng Dịch vụ trò chơi của Play với một Hoạt động Java chuẩn, JNI_OnLoad sẽ được gọi khi JNI_OnLoad của thư viện động được gọi.
android_main
void gpg::AndroidInitialization::android_main(
struct android_app *app
)
Khi sử dụng Dịch vụ trò chơi của Play với NativeActivity dựa trên android_native_app_glue.h, bạn phải gọi android_main trong android_main của hoạt động trước mọi lệnh gọi khác đối với Dịch vụ trò chơi của Play.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# gpg::AndroidInitialization Struct Reference\n\ngpg::AndroidInitialization\n==========================\n\n`#include \u003candroid_initialization.h\u003e`\n\n[AndroidInitialization](/games/services/cpp/api/struct/gpg/android-initialization#structgpg_1_1_android_initialization) includes three initialization functions, exactly one of which must be called.\n\nSummary\n-------\n\nIn the case of a standard Java Activity, JNI_OnLoad should be used. In the case of a NativeActivity where JNI_OnLoad will not be called, either android_main or ANativeActivity_onCreate should be used. android_main is used when building a NativeActivity using android_native_app_glue.h. ANativeActivity_onCreate is used when building a NativeActivity using just native_activity.h. android_native_app_glue.h and native_activity.h are default Android headers.\n\nThe appropriate initialization function must be called exactly once before any [AndroidPlatformConfiguration](/games/services/cpp/api/class/gpg/android-platform-configuration#classgpg_1_1_android_platform_configuration) instance methods are called, and it must be called before a [GameServices](/games/services/cpp/api/class/gpg/game-services#classgpg_1_1_game_services) object is instantiated. It is permitted to instantiate a [AndroidPlatformConfiguration](/games/services/cpp/api/class/gpg/android-platform-configuration#classgpg_1_1_android_platform_configuration) before one of the initialization calls (for example, if the configuration object has global scope), as long as no methods are called before the initialization call. These methods need be called only once in the lifetime of the calling program, not once per [GameServices](/games/services/cpp/api/class/gpg/game-services#classgpg_1_1_game_services) object created.\n\n| ### Public static functions ||\n|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [ANativeActivity_onCreate](#structgpg_1_1_android_initialization_1a816753e9576f07d1d58f2e94b26ad66c)`(ANativeActivity *native_activity, void *savedState, size_t savedStateSize)` | `void` When using Play Game Services with a NativeActivity which is based on only native_activity.h, ANativeActivity_onCreate should be called during your activity's ANativeActivity_onCreate, before any other Play Game Services calls. |\n| [JNI_OnLoad](#structgpg_1_1_android_initialization_1ae43182cd58941ddc74eb07535c8de97a)`(JavaVM *jvm)` | `void` When using Play Game Services with a standard Java Activity, JNI_OnLoad should be called when the dynamic library's JNI_OnLoad is called. |\n| [android_main](#structgpg_1_1_android_initialization_1ace2b90a82cc0b9ad5aeb7ac73996b100)`(struct android_app *app)` | `void` When using Play Game Services with a NativeActivity which is based on android_native_app_glue.h, android_main should be called during your activity's android_main, before any other Play Game Services calls. |\n\nPublic static functions\n-----------------------\n\n### ANativeActivity_onCreate\n\n```c++\nvoid gpg::AndroidInitialization::ANativeActivity_onCreate(\n ANativeActivity *native_activity,\n void *savedState,\n size_t savedStateSize\n)\n``` \nWhen using Play Game Services with a NativeActivity which is based on only native_activity.h, ANativeActivity_onCreate should be called during your activity's ANativeActivity_onCreate, before any other Play Game Services calls. \n\n### JNI_OnLoad\n\n```c++\nvoid gpg::AndroidInitialization::JNI_OnLoad(\n JavaVM *jvm\n)\n``` \nWhen using Play Game Services with a standard Java Activity, JNI_OnLoad should be called when the dynamic library's JNI_OnLoad is called. \n\n### android_main\n\n```c++\nvoid gpg::AndroidInitialization::android_main(\n struct android_app *app\n)\n``` \nWhen using Play Game Services with a NativeActivity which is based on android_native_app_glue.h, android_main should be called during your activity's android_main, before any other Play Game Services calls."]]