private void _AndroidJavaClass(string className) { base.DebugPrint("Creating AndroidJavaClass from " + className); using (AndroidJavaObject androidJavaObject = AndroidJavaObject.FindClass(className)) { this.m_jclass = AndroidJNI.NewGlobalRef(androidJavaObject.GetRawObject()); this.m_jobject = IntPtr.Zero; } }
internal AndroidJavaClass(IntPtr jclass) { if (jclass == IntPtr.Zero) { throw new Exception("JNI: Init'd AndroidJavaClass with null ptr!"); } this.m_jclass = AndroidJNI.NewGlobalRef(jclass); this.m_jobject = IntPtr.Zero; }
internal AndroidJavaObject(IntPtr jobject) : this() { if (jobject == IntPtr.Zero) { throw new Exception("JNI: Init'd AndroidJavaObject with null ptr!"); } IntPtr objectClass = AndroidJNISafe.GetObjectClass(jobject); this.m_jobject = AndroidJNI.NewGlobalRef(jobject); this.m_jclass = AndroidJNI.NewGlobalRef(objectClass); AndroidJNISafe.DeleteLocalRef(objectClass); }
private void _AndroidJavaObject(string className, params object[] args) { this.DebugPrint("Creating AndroidJavaObject from " + className); if (args == null) { args = new object[1]; } using (AndroidJavaObject androidJavaObject = AndroidJavaObject.FindClass(className)) { this.m_jclass = AndroidJNI.NewGlobalRef(androidJavaObject.GetRawObject()); jvalue[] jniArgArray = AndroidJNIHelper.CreateJNIArgArray(args); try { IntPtr localref = AndroidJNISafe.NewObject(this.m_jclass, AndroidJNIHelper.GetConstructorID(this.m_jclass, args), jniArgArray); this.m_jobject = AndroidJNI.NewGlobalRef(localref); AndroidJNISafe.DeleteLocalRef(localref); } finally { AndroidJNIHelper.DeleteJNIArgArray(args, jniArgArray); } } }
public GlobalJavaObjectRef(IntPtr jobject) { this.m_jobject = ((jobject == IntPtr.Zero) ? IntPtr.Zero : AndroidJNI.NewGlobalRef(jobject)); }
public GlobalJavaObjectRef(IntPtr jobject) { this.m_jobject = ((!(jobject == IntPtr.Zero)) ? AndroidJNI.NewGlobalRef(jobject) : IntPtr.Zero); }