Ejemplo n.º 1
0
    void ShowBatteryInfo()
    {
        UIDevice device = UIDevice.CurrentDevice();

        device.batteryMonitoringEnabled = true;         // need to enable this first

        Log("Battery state: " + device.batteryState);
        Log("Battery level: " + device.batteryLevel);
    }
Ejemplo n.º 2
0
    void OnDestroy()
    {
        if (CoreXT.IsDevice)
        {
            UIDevice.CurrentDevice().OrientationDidChange -= _OnOrientationChanged;

            if (webCamTexture != null)
            {
                WebCamTexture.Destroy(webCamTexture);
            }
        }
    }
Ejemplo n.º 3
0
    void Awake()
    {
        if (CoreXT.IsDevice)
        {
            UIDevice.CurrentDevice().OrientationDidChange += _OnOrientationChanged;

            if (autoPlay)
            {
                Play();
            }
        }
    }
Ejemplo n.º 4
0
    public static float GetBatteryLevel()
    {
#if UNITY_IOS
        UIDevice device = UIDevice.CurrentDevice();
        device.batteryMonitoringEnabled = true;  // need to enable this first
        Debug.Log("Battery state: " + device.batteryState);
        Debug.Log("Battery level: " + device.batteryLevel);
        return(device.batteryLevel * 100);
#elif UNITY_ANDROID
        if (Application.platform == RuntimePlatform.Android)
        {
            try
            {
                using (AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
                {
                    if (null != unityPlayer)
                    {
                        using (AndroidJavaObject currActivity = unityPlayer.GetStatic <AndroidJavaObject>("currentActivity"))
                        {
                            if (null != currActivity)
                            {
                                using (AndroidJavaObject intentFilter = new AndroidJavaObject("android.content.IntentFilter", new object[] { "android.intent.action.BATTERY_CHANGED" }))
                                {
                                    using (AndroidJavaObject batteryIntent = currActivity.Call <AndroidJavaObject>("registerReceiver", new object[] { null, intentFilter }))
                                    {
                                        int level = batteryIntent.Call <int>("getIntExtra", new object[] { "level", -1 });
                                        int scale = batteryIntent.Call <int>("getIntExtra", new object[] { "scale", -1 });

                                        // Error checking that probably isn't needed but I added just in case.
                                        if (level == -1 || scale == -1)
                                        {
                                            return(50f);
                                        }
                                        return(((float)level / (float)scale) * 100.0f);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                Debug.Log("Error " + ex.ToString() + " while getting battery life.");
            }
        }

        return(100);
#else
        return(0);
#endif
    }