コード例 #1
0
        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);
        }