using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Android; using UnityEngine.SceneManagement; public class RTKDev { // Start is called before the first frame update private static AndroidJavaClass _javaClass; private static AndroidJavaObject _javaInstance = null; public static void EnsureInstance() { if (Application.platform != RuntimePlatform.Android) { throw new System.NotSupportedException("BluetoothManager currently only works on Android."); } if (_javaInstance == null) { // context = activity.Call("getApplicationContext"); _javaClass = new AndroidJavaClass("com.bonus.bdxt.RTKMainActivity"); //_javaClass = new AndroidJavaClass("im.shv.rtk.BluetoothManager"); _javaInstance = _javaClass.CallStatic("getInstance"); } } public static void RequestPermissions() { if (!Permission.HasUserAuthorizedPermission(Permission.CoarseLocation) || !Permission.HasUserAuthorizedPermission(Permission.FineLocation) || !Permission.HasUserAuthorizedPermission("android.permission.BLUETOOTH_SCAN") || !Permission.HasUserAuthorizedPermission("android.permission.BLUETOOTH_ADVERTISE") || !Permission.HasUserAuthorizedPermission("android.permission.BLUETOOTH_CONNECT")) Permission.RequestUserPermissions(new string[] { Permission.CoarseLocation, Permission.FineLocation, "android.permission.BLUETOOTH_SCAN", "android.permission.BLUETOOTH_ADVERTISE", "android.permission.BLUETOOTH_CONNECT" }); } public static void Connect() { _javaInstance.Call("Connect"); int i = 0; } public static int GetConnectState() { return _javaInstance.Call("GetConnectState"); } public static void Disconnect() { _javaInstance.Call("Disconnect"); } public static double[] GetLatLongAlt() { return _javaInstance.Call("GetLatLongAlt"); } public static int Test() { //return _javaInstance.Call("Add", 5, 6); SceneManager.LoadScene("Scenes/ARScene"); return 0; } }