ANativeActivity

#include <native_activity.h>

This structure defines the native side of an android.app.NativeActivity.

Summary

It is created by the framework, and handed to the application's native code as it is being launched.

Public attributes

assetManager
Pointer to the Asset Manager instance for the application.
callbacks
Pointer to the callback function table of the native application.
clazz
jobject
The NativeActivity object handle.
env
JNIEnv *
JNI context for the main thread of the app.
externalDataPath
const char *
Path to this application's external (removable/mountable) data directory.
instance
void *
This is the native instance of the application.
internalDataPath
const char *
Path to this application's internal data directory.
obbPath
const char *
Available starting with Honeycomb: path to the directory containing the application's OBB files (if any).
sdkVersion
int32_t
The platform's SDK version code.
vm
JavaVM *
The global handle on the process's Java VM.

Public attributes

assetManager

AAssetManager * ANativeActivity::assetManager

Pointer to the Asset Manager instance for the application.

The application uses this to access binary assets bundled inside its own .apk file.

callbacks

struct ANativeActivityCallbacks * ANativeActivity::callbacks

Pointer to the callback function table of the native application.

You can set the functions here to your own callbacks. The callbacks pointer itself here should not be changed; it is allocated and managed for you by the framework.

clazz

jobject ANativeActivity::clazz

The NativeActivity object handle.

IMPORTANT NOTE: This member is mis-named. It should really be named 'activity' instead of 'clazz', since it's a reference to the NativeActivity instance created by the system for you.

We unfortunately cannot change this without breaking NDK source-compatibility.

env

JNIEnv * ANativeActivity::env

JNI context for the main thread of the app.

Note that this field can ONLY be used from the main thread of the process; that is, the thread that calls into the ANativeActivityCallbacks.

externalDataPath

const char * ANativeActivity::externalDataPath

Path to this application's external (removable/mountable) data directory.

instance

void * ANativeActivity::instance

This is the native instance of the application.

It is not used by the framework, but can be set by the application to its own instance state.

internalDataPath

const char * ANativeActivity::internalDataPath

Path to this application's internal data directory.

obbPath

const char * ANativeActivity::obbPath

Available starting with Honeycomb: path to the directory containing the application's OBB files (if any).

If the app doesn't have any OBB files, this directory may not exist.

sdkVersion

int32_t ANativeActivity::sdkVersion

The platform's SDK version code.

vm

JavaVM * ANativeActivity::vm

The global handle on the process's Java VM.