UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AndroidJniGameActivity.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#include "
CoreMinimal.h
"
6
#if USE_ANDROID_JNI
7
#include "
Android/AndroidJavaEnv.h
"
8
#include "
Android/AndroidJniGameControllerManager.h
"
9
10
namespace
UE::Jni::Android::Content
11
{
12
struct
FIntent
: Java::Lang::FObject
13
{
14
static
constexpr
FAnsiStringView
ClassName =
"android/content/Intent"
;
15
};
16
}
17
18
namespace
UE::Jni::Android::View
19
{
20
struct
FSurface: Java::Lang::FObject
21
{
22
static
constexpr
FAnsiStringView
ClassName =
"android/view/Surface"
;
23
};
24
}
25
26
namespace
UE::Jni
27
{
28
struct
FGameActivity
: Java::Lang::FObject
29
{
30
static
constexpr
FAnsiStringView
ClassName =
"com/epicgames/unreal/GameActivity"
;
31
32
static
FGameActivity
*
Get
();
33
#if USE_ANDROID_INPUT
34
35
inline
static
TMember<FGameActivity*, FGameControllerManager*>
gameControllerManager
;
36
37
inline
static
TMember
<
FGameActivity
*,
jboolean
()>
createGameControllerManager
;
38
#endif
39
40
static
void
JNICALL
nativeHandleNewIntentData
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
JavaIntent
);
41
static
void
JNICALL
nativeVirtualKeyboardVisible
(
JNIEnv
*
env
,
jobject
thiz
,
jboolean
bShown
);
42
static
void
JNICALL
nativeVirtualKeyboardShown
(
JNIEnv
*
env
,
jobject
thiz
,
jint
left
,
jint
top,
jint
right,
jint
bottom);
43
static
void
JNICALL
nativeVirtualKeyboardResult
(
JNIEnv
*
env
,
jobject
thiz
,
jboolean
update,
jstring
contents
);
44
static
void
JNICALL
nativeVirtualKeyboardDismissed
(
JNIEnv
*
env
,
jobject
thiz
,
jboolean
update,
jstring
contents
);
45
static
void
JNICALL
nativeVirtualKeyboardChanged
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
contents
);
46
static
void
JNICALL
nativeVirtualKeyboardSendKey
(
JNIEnv
*
env
,
jobject
thiz
,
jint
keyCode
);
47
static
void
JNICALL
nativeVirtualKeyboardSendSelection
(
JNIEnv
*
jenv
,
jobject
thiz
,
jint
selStart
,
jint
selEnd
);
48
static
void
JNICALL
nativeSetObbFilePaths
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
OBBMainFilePath
,
jstring
OBBPatchFilePath
,
jstring
OBBOverflow1FilePath
,
jstring
OBBOverflow2FilePath
);
49
static
void
JNICALL
nativeSetGlobalActivity
(
JNIEnv
*
env
,
jobject
thiz
,
jboolean
bUseExternalFilesDir,
jboolean
bPublicLogFiles,
jstring
internalFilePath
,
jstring
externalFilePath
,
jboolean
bOBBinAPK
,
jstring
APKFilename
);
50
static
jboolean
JNICALL
nativeIsShippingBuild
(
JNIEnv
*
env
,
jobject
thiz
);
51
static
void
JNICALL
nativeOnActivityResult
(
JNIEnv
*
env
,
jobject
thiz
,
FGameActivity
*
activity
,
jint
requestCode
,
jint
resultCode
, Android::Content::FIntent* data);
52
static
void
JNICALL
nativeHandleSensorEvents
(
JNIEnv
*
env
,
jobject
thiz
, Java::Lang::TArray<jfloat>*
tilt
, Java::Lang::TArray<jfloat>*
rotation_rate
, Java::Lang::TArray<jfloat>*
gravity
, Java::Lang::TArray<jfloat>*
acceleration
);
53
static
void
JNICALL
nativeOnThermalStatusChangedListener
(
JNIEnv
*
env
,
jobject
thiz
,
jint
Status);
54
static
void
JNICALL
nativeOnTrimMemory
(
JNIEnv
*
env
,
jobject
thiz
,
jint
MemoryTrimValue
);
55
static
void
JNICALL
nativeOnOrientationChanged
(
JNIEnv
*
env
,
jobject
thiz
,
jint
orientation
);
56
static
void
JNICALL
nativeConsoleCommand
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
commandString
);
57
static
void
JNICALL
nativeInitHMDs
(
JNIEnv
*
env
,
jobject
thiz
);
58
static
void
JNICALL
nativeSetAndroidVersionInformation
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
androidVersion
,
jint
targetSDKversion
,
jstring
phoneMake
,
jstring
phoneModel
,
jstring
phoneBuildNumber
,
jstring
osLanguage
,
jstring
productName
);
59
static
void
JNICALL
nativeOnInitialDownloadStarted
(
JNIEnv
*
env
,
jobject
thiz
);
60
static
void
JNICALL
nativeOnInitialDownloadCompleted
(
JNIEnv
*
env
,
jobject
thiz
);
61
static
void
JNICALL
nativeCrashContextSetStringKey
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
JavaKey
,
jstring
JavaValue
);
62
static
void
JNICALL
nativeCrashContextSetBooleanKey
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
JavaKey
,
jboolean
JavaValue
);
63
static
void
JNICALL
nativeCrashContextSetIntegerKey
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
JavaKey
,
jint
JavaValue
);
64
static
void
JNICALL
nativeCrashContextSetFloatKey
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
JavaKey
,
jfloat
JavaValue
);
65
static
void
JNICALL
nativeCrashContextSetDoubleKey
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
JavaKey
,
jdouble
JavaValue
);
66
static
void
JNICALL
nativeSetObbInfo
(
JNIEnv
*
env
,
jobject
thiz
,
jstring
ProjectName,
jstring
PackageName,
jint
Version,
jint
PatchVersion,
jstring
AppType
);
67
static
void
JNICALL
nativeSetAffinityInfo
(
JNIEnv
*
env
,
jobject
thiz
,
jboolean
bEnableAffinity
,
jint
bigCoreMask
,
jint
littleCoreMask
);
68
static
void
JNICALL
nativeSetConfigRulesVariables
(
JNIEnv
*
env
,
jobject
thiz
, Java::Lang::TArray<jstring>* KeyValuePairs);
69
static
void
JNICALL
nativeSetAndroidStartupState
(
JNIEnv
*
env
,
jobject
thiz
,
jboolean
bDebuggerAttached
);
70
static
void
JNICALL
nativeNetworkChanged
(
JNIEnv
*
env
,
jobject
thiz
);
71
static
void
JNICALL
nativeResumeMainInit
(
JNIEnv
*
env
,
jobject
thiz
);
72
static
jint
JNICALL
nativeGetCPUFamily
(
JNIEnv
*
env
,
jobject
thiz
);
73
static
jboolean
JNICALL
nativeSupportsNEON
(
JNIEnv
*
env
,
jobject
thiz
);
74
static
void
JNICALL
nativeSetWindowInfo
(
JNIEnv
*
env
,
jobject
thiz
,
jboolean
bIsPortrait
,
jint
DepthBufferPreference,
jint
PropagateAlpha
);
75
static
void
JNICALL
nativeSetSurfaceViewInfo
(
JNIEnv
*
env
,
jobject
thiz
,
jint
width,
jint
height);
76
static
void
JNICALL
nativeSetSafezoneInfo
(
JNIEnv
*
env
,
jobject
thiz
,
jboolean
bIsPortrait
,
jfloat
left
,
jfloat
top,
jfloat
right,
jfloat
bottom);
77
#if USE_ANDROID_INPUT
78
79
static
constexpr
FMember
Members[]
80
{
81
UE_JNI_MEMBER
(
gameControllerManager
),
82
UE_JNI_MEMBER
(
createGameControllerManager
)
83
};
84
#endif
85
86
static
constexpr
FNativeMethod
NativeMethods
[]
87
{
88
UE_JNI_NATIVE_METHOD
(
nativeHandleNewIntentData
),
89
UE_JNI_NATIVE_METHOD
(
nativeVirtualKeyboardVisible
),
90
UE_JNI_NATIVE_METHOD
(
nativeVirtualKeyboardShown
),
91
UE_JNI_NATIVE_METHOD
(
nativeVirtualKeyboardResult
),
92
UE_JNI_NATIVE_METHOD
(
nativeVirtualKeyboardDismissed
),
93
UE_JNI_NATIVE_METHOD
(
nativeVirtualKeyboardChanged
),
94
UE_JNI_NATIVE_METHOD
(
nativeVirtualKeyboardSendKey
),
95
UE_JNI_NATIVE_METHOD
(
nativeVirtualKeyboardSendSelection
),
96
UE_JNI_NATIVE_METHOD
(
nativeSetObbFilePaths
),
97
UE_JNI_NATIVE_METHOD
(
nativeSetGlobalActivity
),
98
UE_JNI_NATIVE_METHOD
(
nativeIsShippingBuild
),
99
UE_JNI_NATIVE_METHOD
(
nativeOnActivityResult
),
100
UE_JNI_NATIVE_METHOD
(
nativeHandleSensorEvents
),
101
UE_JNI_NATIVE_METHOD
(
nativeOnThermalStatusChangedListener
),
102
UE_JNI_NATIVE_METHOD
(
nativeOnTrimMemory
),
103
UE_JNI_NATIVE_METHOD
(
nativeOnOrientationChanged
),
104
UE_JNI_NATIVE_METHOD
(
nativeConsoleCommand
),
105
UE_JNI_NATIVE_METHOD
(
nativeInitHMDs
),
106
UE_JNI_NATIVE_METHOD
(
nativeSetAndroidVersionInformation
),
107
UE_JNI_NATIVE_METHOD
(
nativeOnInitialDownloadStarted
),
108
UE_JNI_NATIVE_METHOD
(
nativeOnInitialDownloadCompleted
),
109
UE_JNI_NATIVE_METHOD
(
nativeCrashContextSetStringKey
),
110
UE_JNI_NATIVE_METHOD
(
nativeCrashContextSetBooleanKey
),
111
UE_JNI_NATIVE_METHOD
(
nativeCrashContextSetIntegerKey
),
112
UE_JNI_NATIVE_METHOD
(
nativeCrashContextSetFloatKey
),
113
UE_JNI_NATIVE_METHOD
(
nativeCrashContextSetDoubleKey
),
114
UE_JNI_NATIVE_METHOD
(
nativeSetObbInfo
),
115
UE_JNI_NATIVE_METHOD
(
nativeSetAffinityInfo
),
116
UE_JNI_NATIVE_METHOD
(
nativeSetConfigRulesVariables
),
117
UE_JNI_NATIVE_METHOD
(
nativeSetAndroidStartupState
),
118
UE_JNI_NATIVE_METHOD
(
nativeNetworkChanged
),
119
UE_JNI_NATIVE_METHOD
(
nativeResumeMainInit
),
120
UE_JNI_NATIVE_METHOD
(
nativeGetCPUFamily
),
121
UE_JNI_NATIVE_METHOD
(
nativeSupportsNEON
),
122
UE_JNI_NATIVE_METHOD
(
nativeSetWindowInfo
),
123
UE_JNI_NATIVE_METHOD
(
nativeSetSurfaceViewInfo
),
124
UE_JNI_NATIVE_METHOD
(
nativeSetSafezoneInfo
)
125
};
126
};
127
}
128
129
namespace
UE::Jni::Asis
130
{
131
struct
FAsisGameActivity
:
FGameActivity
132
{
133
static
constexpr
FAnsiStringView
ClassName =
"com/epicgames/asis/AsisGameActivity"
;
134
135
static
jstring
JNICALL
nativeGetObbComment
(
JNIEnv
*
env
,
jclass
clazz
);
136
static
void
JNICALL
nativeMain
(
JNIEnv
*
env
,
jclass
clazz
,
jstring
projectModule
);
137
static
void
JNICALL
nativeSetCommandline
(
JNIEnv
*
env
,
jclass
clazz
,
jstring
commandline
);
138
static
void
JNICALL
nativeAppCommand
(
JNIEnv
*
env
,
jclass
clazz
,
jint
cmd);
139
140
static
constexpr
FNativeMethod
NativeMethods
[]
141
{
142
UE_JNI_NATIVE_METHOD
(
nativeGetObbComment
),
143
UE_JNI_NATIVE_METHOD
(
nativeMain
),
144
UE_JNI_NATIVE_METHOD
(
nativeSetCommandline
),
145
UE_JNI_NATIVE_METHOD
(
nativeAppCommand
)
146
};
147
148
private
:
149
using
FGameActivity::Members;
150
};
151
}
152
#if USE_ANDROID_STANDALONE
153
154
namespace
UE::Jni
155
{
156
template
struct
TInitialize<Asis::FAsisGameActivity>
;
157
}
158
#endif
159
#endif
AndroidJavaEnv.h
AndroidJniGameControllerManager.h
CoreMinimal.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
left
bool left(const int *a, const int *b, const int *c)
Definition
RecastMesh.cpp:182
TStringView< ANSICHAR >
ObjectPtr_Private::Get
FORCEINLINE T * Get(const FObjectPtr &ObjectPtr)
Definition
ObjectPtr.h:426
UE::Json::FMember
FValue::Member FMember
Definition
RapidJsonUtils.h:62
Engine
Source
Runtime
Core
Public
Android
AndroidJniGameActivity.h
Generated by
1.9.8