ANativeActivity

此结构定义了 android.app.NativeActivity 的原生端。

摘要

它由框架创建,并在应用启动时传递给应用的原生代码。

公共属性

assetManager
指向应用的 Asset Manager 实例的指针。
callbacks
指向原生应用回调函数表的指针。
clazz
jobject
NativeActivity 对象句柄。
env
JNIEnv *
应用主线程的 JNI 上下文。
externalDataPath
const char *
此应用的外部(可移除/可挂载)数据目录路径。
instance
void *
这是应用的原生实例。
internalDataPath
const char *
此应用的内部数据目录路径。
obbPath
const char *
自 Honeycomb 起可用:包含应用 OBB 文件(如有)的目录路径。
sdkVersion
int32_t
平台的 SDK 版本号。
vm
JavaVM *
进程的 Java VM 的全局句柄。

公共属性

assetManager

声明于 android/native_activity.h
AAssetManager * ANativeActivity::assetManager

指向应用的 Asset Manager 实例的指针。

应用使用此项访问捆绑在其 .apk 文件中的二进制 asset。

callbacks

声明于 android/native_activity.h
struct ANativeActivityCallbacks * ANativeActivity::callbacks

指向原生应用回调函数表的指针。

您可以在此处将函数设置为您自己的回调。此处的 callbacks 指针本身不应更改;它由框架为您分配和管理。

clazz

声明于 android/native_activity.h
jobject ANativeActivity::clazz

NativeActivity 对象句柄。

重要注意事项:此成员名称有误。它实际上应命名为 'activity' 而不是 'clazz',因为它引用了系统为您创建的 NativeActivity 实例。

遗憾的是,我们无法更改此项,否则会破坏 NDK 源代码兼容性。

env

声明于 android/native_activity.h
JNIEnv * ANativeActivity::env

应用主线程的 JNI 上下文。

请注意,此字段只能在进程的主线程中使用;即调用 ANativeActivityCallbacks 的线程。

externalDataPath

声明于 android/native_activity.h
const char * ANativeActivity::externalDataPath

此应用的外部(可移除/可挂载)数据目录路径。

instance

声明于 android/native_activity.h
void * ANativeActivity::instance

这是应用的原生实例。

它不被框架使用,但应用可以将其设置为自己的实例状态。

internalDataPath

声明于 android/native_activity.h
const char * ANativeActivity::internalDataPath

此应用的内部数据目录路径。

obbPath

声明于 android/native_activity.h
const char * ANativeActivity::obbPath

自 Honeycomb 起可用:包含应用 OBB 文件(如有)的目录路径。

如果应用没有 OBB 文件,此目录可能不存在。

sdkVersion

声明于 android/native_activity.h
int32_t ANativeActivity::sdkVersion

平台的 SDK 版本号。

vm

声明于 android/native_activity.h
JavaVM * ANativeActivity::vm

进程的 Java VM 的全局句柄。