//set phone or application volume (according if running on android or if user want application volume) public void SetVolume(float a_fVolume) { if (m_bGetVolumeFromPhone && CommonAndroid.IsRunningOnAndroid()) { AndroidJavaObject audioManager = CommonAndroid.GetAndroidAudioManager(); audioManager.Call("setStreamVolume", 3, (int)a_fVolume, 0); } else { AudioListener.volume = a_fVolume; } }
//Get phone volume if running or android or application volume if running on pc //(or wanted by user) public float GetVolume() { if (m_bGetVolumeFromPhone && CommonAndroid.IsRunningOnAndroid()) { AndroidJavaObject audioManager = CommonAndroid.GetAndroidAudioManager(); return(audioManager.Call <int>("getStreamVolume", 3)); } else { return(AudioListener.volume); } }
/// <summary> /// Checks if Android Device has auto rotation enabled. /// </summary> /// <returns> True if auto-rotate is enabled, is not Android, or it fails. </returns> public static bool IsAutoRotateEnabled() { bool isAutoRotateEnabled = true; #if UNITY_ANDROID && !UNITY_EDITOR try { // Uses $ as System is subclass of Settings using (AndroidJavaClass systemSettings = new AndroidJavaClass("android.provider.Settings$System")) using (AndroidJavaObject contentResolver = CommonAndroid.GetUnityActivity().Call <AndroidJavaObject>("getContentResolver")) { isAutoRotateEnabled = (systemSettings.CallStatic <int>("getInt", contentResolver, "accelerometer_rotation") == 1); } } catch (System.Exception e) { Debug.LogError(e); } #endif return(isAutoRotateEnabled); }