Version: 6000.3
语言: 中文
从 C# 脚本调用 Java 和 Kotlin 插件代码
代码示例:从 C# 脚本调用 Java/Kotlin 代码

Unity 中的 Java 原生接口 API

Unity 提供低级和高级 Java 本机接口 (JNI) API,允许您与 C# 中的 Java 代码进行交互脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
.

低级 API

低级 AndroidJNI 类包装 JNI 调用,并提供直接映射到 JNI 方法的静态方法。AndroidJNIHelper API 提供了主要由高级 API 使用的帮助程序功能,但在某些情况下它们可能很有用。

高级 API

高级 AndroidJavaObjectAndroidJavaClassAndroidJavaProxy 类可自动执行 JNI 调用所需的大量任务。他们还使用缓存来更快地调用 Java。的组合AndroidJavaObjectAndroidJavaClass建立在AndroidJNIAndroidJNIHelper,但它们还包含其他功能,例如可用于访问 Java 类静态成员的静态方法。

此外,Unity 还提供了 AndroidApplication 类来简化对currentActivity,currentContextcurrentConfiguration为您的应用程序。此类还允许您根据应用程序的要求委托在 UI 或主线程上执行代码。

实例AndroidJavaObjectAndroidJavaClass分别与 java.lang.Objectjava.lang.Class 的实例进行一对一映射。它们提供三种类型的 Java/Kotlin 代码交互:

每个交互也都有一个静态版本:

获取字段的值或调用返回值的方法时,使用泛型指定返回类型。设置字段的值时,还可以使用泛型来指定要设置的字段的类型。对于不返回值的方法,有一个常规的非泛型版本的 Call

重要提示: 您必须将任何非基元类型作为AndroidJavaObject.唯一的例外是您直接访问的字符串,即使它们不代表 Java 中的原始类型。

其他资源

从 C# 脚本调用 Java 和 Kotlin 插件代码
代码示例:从 C# 脚本调用 Java/Kotlin 代码