public static IntPtr GetMethodID(IntPtr jclass, string methodName, string signature, bool isStatic)
{
IntPtr intPtr = IntPtr.Zero;
IntPtr result;
try
{
intPtr = AndroidReflection.GetMethodMember(jclass, methodName, signature, isStatic);
result = AndroidJNISafe.FromReflectedMethod(intPtr);
}
catch (Exception ex)
{
IntPtr methodIDFallback = _AndroidJNIHelper.GetMethodIDFallback(jclass, methodName, signature, isStatic);
if (!(methodIDFallback != IntPtr.Zero))
{
throw ex;
}
result = methodIDFallback;
}
finally
{
AndroidJNISafe.DeleteLocalRef(intPtr);
}
return(result);
}