This repository has been archived on 2025-04-28. You can view files and clone it, but cannot push or open issues or pull requests.
ARPlusSystem/ARPlusSystem-250418/Assets/ARLocation/Scripts/Location/AndroidNativeCompass.cs

30 lines
879 B
C#

#pragma warning disable
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
#pragma warning enable
namespace ARLocation
{
public class AndroidNativeCompass
{
#if PLATFORM_ANDROID
private readonly AndroidJavaObject _nativeHeading;
public AndroidNativeCompass(float alpha = 0.1f)
{
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
_nativeHeading = new AndroidJavaObject("com.dmbfm.magneticdeclination.NativeHeading", activity, alpha);
}
public float GetMagneticHeading()
{
return _nativeHeading.Call<float>("GetCurrentHeading");
}
#else
public AndroidNativeCompass(float alpha = 0.1f) {}
#endif
}
}