JNINativeMethod
Defines a single method to register with a Java class using AndroidJNI.RegisterNatives.
Read time 1 minuteLast updated 5 days ago
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);