UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AndroidApplication.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "AndroidWindow.h"
8#if USE_ANDROID_JNI
10#endif
11
12class IModularFeature;
13
15{
16 void PlatformInit();
17
18 // if the native window handle has changed then the new handle is required.
20
21 void ReleaseEGL();
23}
24
25//disable warnings from overriding the deprecated forcefeedback.
26//calls to the deprecated function will still generate warnings.
28
30{
31public:
32
34
35#if USE_ANDROID_JNI
36 UE_DEPRECATED(5.7, "Use InitializeJavaEnv() instead.")
37 static inline void InitializeJavaEnv(JavaVM* VM, jint Version, jobject GlobalThis)
38 {
39 AndroidJavaEnv::InitializeJavaEnv();
40 }
41 static FORCEINLINE void InitializeJavaEnv()
42 {
43 AndroidJavaEnv::InitializeJavaEnv();
44 }
45 static inline jobject GetGameActivityThis()
46 {
47 return AndroidJavaEnv::GetGameActivityThis();
48 }
49 static inline jobject GetClassLoader()
50 {
51 return AndroidJavaEnv::GetClassLoader();
52 }
53 static inline JNIEnv* GetJavaEnv(bool bRequireGlobalThis = true)
54 {
55 return AndroidJavaEnv::GetJavaEnv(bRequireGlobalThis);
56 }
57 static inline jclass FindJavaClass(const char* name)
58 {
59 return AndroidJavaEnv::FindJavaClass(name);
60 }
61 static inline jclass FindJavaClassGlobalRef(const char* name)
62 {
63 return AndroidJavaEnv::FindJavaClassGlobalRef(name);
64 }
65 UE_DEPRECATED(5.7, "Don't call this.")
66 static inline void DetachJavaEnv()
67 {
68 AndroidJavaEnv::DetachJavaEnv();
69 }
70 static inline bool CheckJavaException()
71 {
72 return AndroidJavaEnv::CheckJavaException();
73 }
74#endif
75
76 static FAndroidApplication* Get() { return _application; }
77
78public:
79
80 virtual ~FAndroidApplication() override;
81
83
84 virtual void PollGameDeviceState( const float TimeDelta ) override;
85
86 virtual FPlatformRect GetWorkArea( const FPlatformRect& CurrentWindow ) const override;
87
88 virtual IInputInterface* GetInputInterface() override;
89
91
93
95
96 static void OnWindowSizeChanged();
97
98 virtual void Tick(const float TimeDelta) override;
99
100 virtual bool IsGamepadAttached() const override;
101
103
106
107protected:
108
111
112
113private:
114
115 void OnInputDeviceModuleRegistered(const FName& Type, IModularFeature* ModularFeature);
116
118 bool bHasLoadedInputPlugins;
119
121
122 static bool bWindowSizeChanged;
123
124 static FAndroidApplication* _application;
125
126 EDeviceScreenOrientation DeviceOrientation;
127 void HandleDeviceOrientation();
128};
129
#define FORCEINLINE
Definition AndroidPlatform.h:140
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
EDeviceScreenOrientation
Definition GenericPlatformMisc.h:236
Definition AndroidApplication.h:30
virtual TSharedRef< FGenericWindow > MakeWindow() override
Definition AndroidApplication.cpp:214
FAndroidApplication()
Definition AndroidApplication.cpp:41
virtual void PollGameDeviceState(const float TimeDelta) override
Definition AndroidApplication.cpp:76
void InitializeWindow(const TSharedRef< FGenericWindow > &InWindow, const TSharedRef< FGenericWindowDefinition > &InDefinition, const TSharedPtr< FGenericWindow > &InParent, const bool bShowImmediately)
Definition AndroidApplication.cpp:219
static void OnWindowSizeChanged()
Definition AndroidApplication.cpp:228
bool GetNativeWindowResolution(int32_t &OutWidth, int32_t &OutHeight) const
Definition AndroidApplication.cpp:160
virtual void AddExternalInputDevice(TSharedPtr< class IInputDevice > InputDevice)
Definition AndroidApplication.cpp:68
virtual bool IsGamepadAttached() const override
Definition AndroidApplication.cpp:148
static FAndroidApplication * CreateAndroidApplication()
Definition AndroidApplication.cpp:36
static TAutoConsoleVariable< bool > CVarAndroidSupportsTimestampQueries
Definition AndroidApplication.h:104
void SetMessageHandler(const TSharedRef< FGenericApplicationMessageHandler > &InMessageHandler)
Definition AndroidApplication.cpp:62
virtual ~FAndroidApplication() override
Definition AndroidApplication.cpp:57
static TAutoConsoleVariable< bool > CVarAndroidSupportsDynamicResolution
Definition AndroidApplication.h:105
virtual IInputInterface * GetInputInterface() override
Definition AndroidApplication.cpp:136
static FAndroidApplication * Get()
Definition AndroidApplication.h:76
virtual FPlatformRect GetWorkArea(const FPlatformRect &CurrentWindow) const override
Definition AndroidApplication.cpp:131
Definition NameTypes.h:617
Definition GenericApplication.h:437
Definition IInputInterface.h:309
Definition IModularFeature.h:12
Definition InputDevice.Build.cs:6
Definition Array.h:670
Definition IConsoleManager.h:1792
Definition SharedPointer.h:692
Definition AndroidApplication.h:15
void ReleaseEGL()
Definition AndroidOpenGLPlatform.cpp:46
void ReInitWindow(const TOptional< FAndroidWindow::FNativeAccessor > &WindowContainer)
void PlatformInit()
Definition AndroidOpenGLPlatform.cpp:40
Definition MinimalWindowsApi.h:62
Definition GenericApplication.h:320
Definition Optional.h:131