包含此页的版本:
不含此页的版本:
Unity 提供低级和高级 Java 本机接口 (JNI) API,允许您与 C# 中的 Java 代码进行交互脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表.
低级 AndroidJNI 类包装 JNI 调用,并提供直接映射到 JNI 方法的静态方法。AndroidJNIHelper API 提供了主要由高级 API 使用的帮助程序功能,但在某些情况下它们可能很有用。
高级 AndroidJavaObject、AndroidJavaClass 和 AndroidJavaProxy 类可自动执行 JNI 调用所需的大量任务。他们还使用缓存来更快地调用 Java。的组合AndroidJavaObject和AndroidJavaClass建立在AndroidJNI和AndroidJNIHelper,但它们还包含其他功能,例如可用于访问 Java 类静态成员的静态方法。
此外,Unity 还提供了 AndroidApplication 类来简化对currentActivity,currentContext和currentConfiguration为您的应用程序。此类还允许您根据应用程序的要求委托在 UI 或主线程上执行代码。
实例AndroidJavaObject和AndroidJavaClass分别与 java.lang.Object 和 java.lang.Class 的实例进行一对一映射。它们提供三种类型的 Java/Kotlin 代码交互:
每个交互也都有一个静态版本:
获取字段的值或调用返回值的方法时,使用泛型指定返回类型。设置字段的值时,还可以使用泛型来指定要设置的字段的类型。对于不返回值的方法,有一个常规的非泛型版本的 Call。
重要提示: 您必须将任何非基元类型作为AndroidJavaObject.唯一的例外是您直接访问的字符串,即使它们不代表 Java 中的原始类型。