89 lines
2.3 KiB
C#
89 lines
2.3 KiB
C#
|
|
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<AndroidJavaObject>("getApplicationContext");
|
||
|
|
_javaClass = new AndroidJavaClass("com.bonus.bdxt.RTKMainActivity");
|
||
|
|
//_javaClass = new AndroidJavaClass("im.shv.rtk.BluetoothManager");
|
||
|
|
_javaInstance = _javaClass.CallStatic<AndroidJavaObject>("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<int>("GetConnectState");
|
||
|
|
}
|
||
|
|
|
||
|
|
public static void Disconnect()
|
||
|
|
{
|
||
|
|
_javaInstance.Call("Disconnect");
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
public static double[] GetLatLongAlt()
|
||
|
|
{
|
||
|
|
return _javaInstance.Call<double[]>("GetLatLongAlt");
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
public static int Test()
|
||
|
|
{
|
||
|
|
//return _javaInstance.Call<int>("Add", 5, 6);
|
||
|
|
|
||
|
|
SceneManager.LoadScene("Scenes/ARScene");
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}
|