private static T AndroidInvoke <T>(string _itf_obj_name, string method, params object[] args) { T result = default(T); if (Application.platform != RuntimePlatform.OSXEditor && Application.platform != RuntimePlatform.WindowsEditor) { using (AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer")) { using (AndroidJavaObject @static = androidJavaClass.GetStatic <AndroidJavaObject>("currentActivity")) { using (AndroidJavaClass androidJavaClass2 = new AndroidJavaClass("com.joyyou.itf.JoyyouInterfaceFactory")) { string itfInitMethodName = JoyYouNativeInterface.getItfInitMethodName(_itf_obj_name); androidJavaClass2.CallStatic(itfInitMethodName, new object[] { @static }); using (AndroidJavaObject static2 = androidJavaClass2.GetStatic <AndroidJavaObject>(_itf_obj_name)) { return(static2.Call <T>(method, args)); } } } } return(result); } return(result); }