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);