JNINativeMethod
Defines a single method to register with a Java class using AndroidJNI.RegisterNatives.
阅读时间1 分钟最后更新于 1 个月前
Definition
- Type: Struct
- Namespace: UnityEngine
- Assembly: UnityEngine.AndroidJNIModule
public struct JNINativeMethod
Remarks
This struct stores information about the Java method, such as its name, JNI signature, and the pointer to its corresponding native function. Registering this information using the AndroidJNI.RegisterNatives allows you to integrate Android-specific capabilities in your Unity application.
Note: Use of this struct requires knowledge of Android Java Native Interface (JNI) concepts. For more information, refer to Java Native Interface Specification (Oracle)
Examples
// 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.RegisterNativevar 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 classAndroidJNI.RegisterNatives(clazz, methods);