//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);
    }