/// <summary>
        /// Checks if Android Device has auto rotation enabled.
        /// </summary>
        /// <returns> True if AutoRotate is enabled, is not Android, or it fails. </returns>
        public static bool IsAutoRotateEnabled()
        {
            bool isAutoRotateEnabled = true;

#if UNITY_ANDROID && !UNITY_EDITOR
            try {
                // $ 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);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the current Android packageManager and checks if it is leanback or television.
        /// </summary>
        /// <returns> True if the device is an androidTv, false if not on android. </returns>
        public static bool IsAndroidOrFireTv()
        {
            if (!isTv_.HasValue)
            {
#if UNITY_ANDROID && !UNITY_EDITOR
                try {
                    using (AndroidJavaObject context = CommonAndroid.GetUnityActivity().Call <AndroidJavaObject>("getApplicationContext"))
                        using (AndroidJavaObject packageManager = context.Call <AndroidJavaObject>("getPackageManager")) {
                            isTv_ = packageManager.Call <bool>("hasSystemFeature", "android.software.leanback") || packageManager.Call <bool>("hasSystemFeature", "android.hardware.type.television");
                        }
                } catch (System.Exception e) {
                    Debug.LogError("Couldn't Retrieve IsAndroidOrFireTv" + e);
                    isTv_ = false;
                }
#else
                isTv_ = false;
#endif
            }

            return((bool)isTv_);
        }