public void GetInitInfo() { if (LuaCallCSharpMacro.IS_NEED_LOSD_USER_INFO()) { if (LuaCallCSharpMacro.UNITY_IOS()) { NativeCenter.InvokeIosNativeMethod("getInitInfo"); } else if (LuaCallCSharpMacro.UNITY_ANDROID()) { NativeCenter.InvokeAndroidNativeMethod("getInitInfo"); } } }
private const int STREAM_MUSIC = 3; // 媒体音量 --unity 用到的 public static float GetAndroidAudioInfo() { if (LuaCallCSharpMacro.UNITY_ANDROID()) { if (JavaObject == null) { AndroidJavaClass javaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); JavaObject = javaClass.GetStatic <AndroidJavaObject>("currentActivity"); } if (audioManager == null && JavaObject != null) { audioManager = JavaObject.Call <AndroidJavaObject>("getSystemService", new AndroidJavaObject("java.lang.String", "audio")); } if (audioManager != null) { int musicl_value = audioManager.Call <int>(currentVolume, STREAM_MUSIC); int max_musicl_value = audioManager.Call <int>(maxVolume, STREAM_MUSIC); return(100 * (float)musicl_value / (float)max_musicl_value); } } return(0); }
public static void InvokeAndroidNativeMethod(string methodName, string param) { AsyncTask.runInUIThread(() => { if (LuaCallCSharpMacro.UNITY_ANDROID()) { if (JavaObject == null) { AndroidJavaClass javaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); JavaObject = javaClass.GetStatic <AndroidJavaObject>("currentActivity"); } if (string.IsNullOrEmpty(param)) { JavaObject.Call("invokeAndroidMethod", methodName); } else { Debug.Log("xxx InvokeAndroidNativeMethod param=" + param); JavaObject.Call("invokeAndroidMethod", methodName, param); } } }); }