Unity 6.3
0 онлайн 79 гостей 3 в системе
Вход

JNINativeMethod

структура в UnityEngine

Выполнено в:UnityEngine.AndroidJNIModule

Описание

Описывает один метод для регистрации в классе Java с помощью AndroidJNI.RegisterNatives.

Эта структура хранит сведения о методе Java: имя, сигнатуру JNI и указатель на соответствующую нативную функцию. Регистрация этих сведений через AndroidJNI.RegisterNatives позволяет интегрировать специфические для Android возможности в ваше Unity приложение.

Примечание: для работы с этой структурой нужно понимать концепции Android Java Native Interface (JNI). Дополнительные сведения см. в Спецификация собственного интерфейса Java (Oracle)

// Delegate definition 
delegate void JavaToCs(IntPtr jniEnv, IntPtr klass, int x);

// Method definition [MonoPInvokeCallback(typeof(JavaToCs))] static void CsMethod(IntPtr jniEnv, IntPtr klass, int x) { Debug.Log("From Java: " + x); }

// Array to be passed to AndroidJNI.RegisterNative var methods = new JNINativeMethod[] { new JNINativeMethod { name = "csMethod", signature = "(I)V", fnPtr = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(new JavaToCs(CsMethod)), } };

// Register method with the specified Java class AndroidJNI.RegisterNatives(clazz, methods);

Свойства

Свойство Описание
fnPtrУказатель на собственную функцию, которая вызвана из кода Java.
nameИмя метода Java, реализованного соответствующей основной функцией.
signatureСтрока подписи метода JNI, которая представляет параметры и тип возврата метода Java.