755 lines
22 KiB
C#
755 lines
22 KiB
C#
#if PICO_SDK || PXR_SDK
|
||
using Unity.XR.PICO.TOBSupport;
|
||
using Unity.XR.PXR;
|
||
using UnityEngine;
|
||
using UnityEngine.XR;
|
||
|
||
public class PicoAPI : MonoBehaviour
|
||
{
|
||
public static PicoAPI _Instance;
|
||
|
||
private void Awake()
|
||
{
|
||
if (_Instance == null)
|
||
_Instance = this;
|
||
|
||
// PXR_Enterprise.InitEnterpriseService();
|
||
// PXR_Enterprise.BindEnterpriseService();
|
||
}
|
||
private void OnDestroy()
|
||
{
|
||
PXR_Enterprise.UnBindEnterpriseService();
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD>WakeLock<63><6B>
|
||
/// </summary>
|
||
public void AcquireWakeLock()
|
||
{
|
||
PXR_Enterprise.AcquireWakeLock();
|
||
}
|
||
|
||
/// <summary>
|
||
/// У<><D0A3><EFBFBD>ӽ<EFBFBD>
|
||
/// </summary>
|
||
public void TryRecenter()
|
||
{
|
||
InputDevices.GetDeviceAtXRNode(XRNode.Head).subsystem.TryRecenter();//У<><D0A3><EFBFBD>ӽ<EFBFBD>
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6>
|
||
/// </summary>
|
||
public void OpenTouPing()
|
||
{
|
||
//AndroidProcessData.OpenPackage(packageNmae, activity);
|
||
PXR_Enterprise.StartActivity("com.pvr.picocast", "com.pvr.picocast.view.CastMainActivity", "", "", new string[] { }, new int[] { });
|
||
}
|
||
|
||
public void OpenApp(string pkgName)
|
||
{
|
||
PXR_Enterprise.StartActivity(pkgName, "", "", "", new string[] { }, new int[] { });
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>wifi
|
||
/// </summary>
|
||
public void OpenWIFI()
|
||
{
|
||
PXR_Enterprise.StartVrSettingsItem(StartVRSettingsEnum.START_VR_SETTINGS_ITEM_WIFI, true, 0);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>pico<63><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void PlayPicoVideo(string fileName)
|
||
{
|
||
AndroidJavaObject context = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity");
|
||
AndroidJavaObject videoPlayer = new AndroidJavaObject("com.picovr.picoplaymanager.PicovrLaunchPlayer");
|
||
videoPlayer.Call<AndroidJavaObject>("uri", fileName, false).Call<AndroidJavaObject>("playTime", 0).Call<AndroidJavaObject>("scenes", 2).Call("launchVideoPlayer", context);
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>Ծ
|
||
/// </summary>
|
||
public void AppKeepAlive(string appPackageName)
|
||
{
|
||
PXR_Enterprise.AppKeepAlive(appPackageName, true, 0);
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void SetAppAsHome(string pkgName)
|
||
{
|
||
PXR_Enterprise.SetAPPAsHome(SwitchEnum.S_ON, pkgName);
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>USB<53><42><EFBFBD><EFBFBD>ģʽΪMTP
|
||
/// </summary>
|
||
public void SetUSBConfigMode()
|
||
{
|
||
PXR_Enterprise.SwitchSetUsbConfigurationOption(USBConfigModeEnum.MTP);
|
||
}
|
||
|
||
/// <summary>
|
||
/// ǿ<><C7BF><EFBFBD>˳<EFBFBD>Ӧ<EFBFBD><D3A6>
|
||
/// </summary>
|
||
public void KillAppsByPidOrPackageName(string pkgName)
|
||
{
|
||
PXR_Enterprise.KillAppsByPidOrPackageName(new int[] { }, new string[] { pkgName });
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>̨Ӧ<CCA8>ð<EFBFBD><C3B0><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void KillBackgroundAppsWithWhiteList(string pkgName)
|
||
{
|
||
PXR_Enterprise.KillBackgroundAppsWithWhiteList(new string[] { pkgName });
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>ͫ<EFBFBD><CDAB>
|
||
/// </summary>
|
||
public void SetIpd(float ipd)
|
||
{
|
||
PXR_Enterprise.SetIPD(ipd, CallBack);
|
||
void CallBack(int code)
|
||
{
|
||
string installCode = code switch
|
||
{
|
||
1 => "ʧ<><CAA7>",
|
||
2 => "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>Χ",
|
||
_ => "<22>ɹ<EFBFBD>",
|
||
};
|
||
}
|
||
}
|
||
|
||
#region <EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// <summary>
|
||
/// ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
/// <param name="pkgName">Ӧ<>ð<EFBFBD><C3B0><EFBFBD></param>
|
||
/// <param name="activity">AndroidJavaObject</param>
|
||
public void OpenPackage(string pkgName, AndroidJavaObject activity = null)
|
||
{
|
||
|
||
if (activity == null)
|
||
{
|
||
AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
|
||
activity = UnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
|
||
}
|
||
|
||
using (AndroidJavaObject joPackageManager = activity.Call<AndroidJavaObject>("getPackageManager"))
|
||
{
|
||
using (AndroidJavaObject joIntent = joPackageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage", pkgName))
|
||
{
|
||
if (null != joIntent)
|
||
{
|
||
activity.Call("startActivity", joIntent);
|
||
}
|
||
else
|
||
{
|
||
Debug.Log("δ<><CEB4>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + pkgName);
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20>Ƿ<EFBFBD>װ<EFBFBD>˴<EFBFBD>app
|
||
/// </summary>
|
||
public bool IsAppInstalled(string packageName)
|
||
{
|
||
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
|
||
AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
|
||
AndroidJavaObject packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
|
||
AndroidJavaObject packageInfo = null;
|
||
|
||
try
|
||
{
|
||
packageInfo = packageManager.Call<AndroidJavaObject>("getPackageInfo", packageName, 0);
|
||
}
|
||
catch (AndroidJavaException e)
|
||
{
|
||
// Application is not installed
|
||
}
|
||
|
||
if (packageInfo == null)
|
||
{
|
||
return false;
|
||
}
|
||
else
|
||
{
|
||
return true;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// <20><>ȡapk<70><6B><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public string GetPackageNameFromApk(string apkFilePath)
|
||
{
|
||
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
|
||
AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
|
||
AndroidJavaObject packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
|
||
AndroidJavaObject packageInfo = packageManager.Call<AndroidJavaObject>("getPackageArchiveInfo", apkFilePath, 0);
|
||
|
||
if (packageInfo != null)
|
||
{
|
||
AndroidJavaObject applicationInfo = packageInfo.Get<AndroidJavaObject>("applicationInfo");
|
||
string packageName = applicationInfo.Get<string>("packageName");
|
||
return packageName;
|
||
}
|
||
|
||
return null;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD>رհ<EFBFBD>ȫ<EFBFBD>߽<EFBFBD>
|
||
/// <summary>
|
||
/// <20>رձ߽<D5B1>
|
||
/// </summary>
|
||
public void OffBoundary()
|
||
{
|
||
PXR_Boundary.SetGuardianSystemDisable(false);
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>
|
||
/// </summary>
|
||
/// <param name="vibrateType"><3E>ֱ<EFBFBD></param>
|
||
/// <param name="amplitude"><3E><><EFBFBD></param>
|
||
/// <param name="duration"><3E><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1></param>
|
||
/// <param name="frequency"><3E><>Ƶ<EFBFBD><C6B5></param>
|
||
// public void SetControllerVibration(PXR_Input.VibrateType vibrateType, float amplitude, int duration, int frequency = 150)
|
||
// {
|
||
// PXR_Input.SendHapticImpulse(vibrateType, amplitude, duration, frequency);
|
||
// }
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD> 0<><30><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public int[] GetControllerBattery()
|
||
{
|
||
return PXR_Enterprise.GetControllerBattery();
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>װ/ж<EFBFBD><EFBFBD>apk
|
||
/// <summary>
|
||
/// <20><>Ĭ<EFBFBD><C4AC>װapk
|
||
/// </summary>
|
||
public void InstallApk(string path)
|
||
{
|
||
if (!string.IsNullOrEmpty(path))
|
||
{
|
||
PXR_Enterprise.ControlAPPManager(PackageControlEnum.PACKAGE_SILENCE_INSTALL, path, CallBack);
|
||
}
|
||
|
||
void CallBack(int code)
|
||
{
|
||
string installCode = code switch
|
||
{
|
||
1 => "ʧ<><CAA7>",
|
||
2 => "<22>˲<DEB4><CBB2><EFBFBD>Ȩ<EFBFBD><C8A8>",
|
||
_ => "<22>ɹ<EFBFBD>",
|
||
};
|
||
Debug.Log($"<22><>Ĭ<EFBFBD><C4AC>װapk<70><6B>·<EFBFBD><C2B7>: {path}, code: {installCode}");
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// <20><>Ĭж<C4AC><D0B6>app
|
||
/// </summary>
|
||
public void UnInstallApp(string appPackageName)
|
||
{
|
||
PXR_Enterprise.ControlAPPManager(PackageControlEnum.PACKAGE_SILENCE_UNINSTALL, appPackageName, CallBack);
|
||
void CallBack(int code)
|
||
{
|
||
string unInstallCode = code switch
|
||
{
|
||
1 => "ʧ<><CAA7>",
|
||
2 => "<22>˲<DEB4><CBB2><EFBFBD>Ȩ<EFBFBD><C8A8>",
|
||
_ => "<22>ɹ<EFBFBD>",
|
||
};
|
||
Debug.Log($"<22><>Ĭж<C4AC><D0B6>app<70><70><EFBFBD><EFBFBD>: {appPackageName}, code: {unInstallCode}");
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD><EFBFBD>ȡ<EFBFBD>豸<EFBFBD><EFBFBD>Ϣ
|
||
/// <summary>
|
||
/// pico<63>豸SN
|
||
/// </summary>
|
||
public string PicoSN()
|
||
{
|
||
return StateGetDeviceInfo(SystemInfoEnum.EQUIPMENT_SN);
|
||
}
|
||
/// <summary>
|
||
/// pico<63>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public string PicoPower()
|
||
{
|
||
return StateGetDeviceInfo(SystemInfoEnum.ELECTRIC_QUANTITY);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD>״̬
|
||
/// </summary>
|
||
/// <returns><3E><>2<EFBFBD><32><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>У<EFBFBD><D0A3><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD></returns>
|
||
public string ChargingStatus()
|
||
{
|
||
return StateGetDeviceInfo(SystemInfoEnum.CHARGING_STATUS);
|
||
}
|
||
/// <summary>
|
||
/// pico<63>豸WIFI״̬
|
||
/// </summary>
|
||
public string PicoWIFIState()
|
||
{
|
||
return StateGetDeviceInfo(SystemInfoEnum.DEVICE_WIFI_STATUS);
|
||
}
|
||
/// <summary>
|
||
/// <20><>ȡ<EFBFBD>豸<EFBFBD><E8B1B8>Ϣ
|
||
/// </summary>
|
||
string StateGetDeviceInfo(SystemInfoEnum infoEnum)
|
||
{
|
||
return PXR_Enterprise.StateGetDeviceInfo(infoEnum);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
void SetCommonBrightness(float Ilight)
|
||
{
|
||
PXR_System.SetCommonBrightness(int.Parse(Ilight.ToString()));
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
int GetCommonBrightness()
|
||
{
|
||
return PXR_System.GetCommonBrightness();
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ػ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
void ControlDeviceShutDownOrReboot(DeviceControlEnum deviceControlEnum)
|
||
{
|
||
PXR_Enterprise.ControlSetDeviceAction(deviceControlEnum, callback);
|
||
void callback(int obj)
|
||
{
|
||
string Code = obj switch
|
||
{
|
||
1 => "ʧ<><CAA7>",
|
||
2 => "<22>˲<DEB4><CBB2><EFBFBD>Ȩ<EFBFBD><C8A8>",
|
||
_ => "<22>ɹ<EFBFBD>",
|
||
};
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// <20>ػ<EFBFBD>
|
||
/// </summary>
|
||
public void ShutDown()
|
||
{
|
||
ControlDeviceShutDownOrReboot(DeviceControlEnum.DEVICE_CONTROL_SHUTDOWN);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void Reboot()
|
||
{
|
||
ControlDeviceShutDownOrReboot(DeviceControlEnum.DEVICE_CONTROL_REBOOT);
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Home<EFBFBD><EFBFBD>ť<EFBFBD>¼<EFBFBD>
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>home<6D><65>ť<EFBFBD><C5A5>Ч
|
||
/// </summary>
|
||
public void SetHomeNoAvail()
|
||
{
|
||
PropertySetHomeKey(HomeEventEnum.SINGLE_CLICK, HomeFunctionEnum.VALUE_HOME_DISABLE);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>home<6D><65>ťĬ<C5A5><C4AC>
|
||
/// </summary>
|
||
public void RemoveControllerHomeKey()
|
||
{
|
||
PXR_Enterprise.RemoveControllerHomeKey(HomeEventEnum.SINGLE_CLICK);
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>Home<6D><65>ť<EFBFBD>¼<EFBFBD>
|
||
/// </summary>
|
||
public void PropertySetHomeKey(HomeEventEnum eventEnum, HomeFunctionEnum function)
|
||
{
|
||
PXR_Enterprise.PropertySetHomeKey(eventEnum, function, callback);
|
||
void callback(bool obj)
|
||
{
|
||
string Code = obj switch
|
||
{
|
||
false => "ʧ<><CAA7>",
|
||
_ => "<22>ɹ<EFBFBD>",
|
||
};
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1>Ļ<EFBFBD>رյ<D8B1>ʱ<EFBFBD><CAB1>
|
||
/// </summary>
|
||
void PropertySetScreenOffDelay(ScreenOffDelayTimeEnum timeEnum)
|
||
{
|
||
PXR_Enterprise.PropertySetScreenOffDelay(timeEnum, callback);
|
||
void callback(int obj)
|
||
{
|
||
string Code = obj switch
|
||
{
|
||
0 => "<22>ɹ<EFBFBD>",
|
||
2 => "ʧ<><CAA7>",
|
||
10 => "ӦС<D3A6><D0A1>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>",
|
||
_ => "<22>쳣"
|
||
};
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ʹ<EFBFBD><CAB9>ʱϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||
/// </summary>
|
||
void PropertySetSleepDelay(SleepDelayTimeEnum timeEnum)
|
||
{
|
||
PXR_Enterprise.PropertySetSleepDelay(timeEnum);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
||
/// </summary>
|
||
public void NeverSleepScreenOff()
|
||
{
|
||
PropertySetSleepDelay(SleepDelayTimeEnum.NEVER);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
PropertySetScreenOffDelay(ScreenOffDelayTimeEnum.NEVER);//<2F><><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD><EFBFBD>/<EFBFBD>ر<EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// <summary>
|
||
/// <20><>/<2F>ر<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
void SwitchSystemFunction(SystemFunctionSwitchEnum systemFunctionSwitchEnum, SwitchEnum switchEnum)
|
||
{
|
||
PXR_Enterprise.SwitchSystemFunction(systemFunctionSwitchEnum, switchEnum);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>ض<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void HandRecenter()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_GESTURE_RECOGNITION_RESET_ENABLE, SwitchEnum.S_OFF);
|
||
}
|
||
public void OpenHandRecenter()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_GESTURE_RECOGNITION_RESET_ENABLE, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>Home
|
||
/// </summary>
|
||
public void HandHome()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_GESTURE_RECOGNITION_HOME_ENABLE, SwitchEnum.S_OFF);
|
||
}
|
||
|
||
public void OpenHandHome()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_GESTURE_RECOGNITION_HOME_ENABLE, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>USB<53><42><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OnUSBDebugging()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_USB, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20>ر<EFBFBD><D8B1>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OffAutoSleep()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_AUTOSLEEP, SwitchEnum.S_OFF);
|
||
}
|
||
/// <summary>
|
||
/// <20>ر<EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OffSystemUpdate()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_SYSTEM_UPDATE, SwitchEnum.S_OFF);
|
||
}
|
||
/// <summary>
|
||
/// <20><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OpenSystemUpdate()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_SYSTEM_UPDATE, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20>ر<EFBFBD><D8B1>Զ<EFBFBD>ɱ<EFBFBD><C9B1>̨VRӦ<52><D3A6>
|
||
/// </summary>
|
||
public void OffKillVRapp()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_BASIC_SETTING_KILL_BACKGROUND_VR_APP, SwitchEnum.S_OFF);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ɱ<EFBFBD><C9B1>̨VRӦ<52><D3A6>
|
||
/// </summary>
|
||
public void OpenKillVRapp()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_BASIC_SETTING_KILL_BACKGROUND_VR_APP, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20>رյ<D8B1><D5B5><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OffNavgation()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_NAVGATION_SWITCH, SwitchEnum.S_OFF);
|
||
}
|
||
/// <summary>
|
||
/// <20><EFBFBD><F2BFAAB5><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OpenNavgation()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_NAVGATION_SWITCH, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ر<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OnPowerCtrlWIFIEnable()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_POWER_CTRL_WIFI_ENABLE, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20>ر<EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OffSystemUpdateApp()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_SYSTEM_UPDATE_APP, SwitchEnum.S_OFF);
|
||
}
|
||
/// <summary>
|
||
/// <20><>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void OpenSystemUpdateApp()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_SYSTEM_UPDATE_APP, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20>ر<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>˳<EFBFBD><CBB3>Ի<EFBFBD><D4BB><EFBFBD>
|
||
/// </summary>
|
||
public void OffAppQuitConfirmDialog()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_BASIC_SETTING_SHOW_APP_QUIT_CONFIRM_DIALOG, SwitchEnum.S_OFF);
|
||
}
|
||
/// <summary>
|
||
/// <20><>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>˳<EFBFBD><CBB3>Ի<EFBFBD><D4BB><EFBFBD>
|
||
/// </summary>
|
||
public void OpenAppQuitConfirmDialog()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_BASIC_SETTING_SHOW_APP_QUIT_CONFIRM_DIALOG, SwitchEnum.S_ON);
|
||
}
|
||
/// <summary>
|
||
/// <20>ر<EFBFBD>6DoFλ<46>ø<EFBFBD><C3B8><EFBFBD>
|
||
/// </summary>
|
||
public void OffSixDof()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_SIX_DOF_SWITCH, SwitchEnum.S_OFF);
|
||
}
|
||
public void OnSixDof()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_SIX_DOF_SWITCH, SwitchEnum.S_ON);
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD>ť
|
||
/// </summary>
|
||
public void OffCastUI()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_SHORTCUT_SHOW_CAST_UI, SwitchEnum.S_OFF);
|
||
}
|
||
|
||
/// <summary>
|
||
/// VRӦ<52><D3A6><EFBFBD><EFBFBD>ʵʱ<CAB5><CAB1>Ӧͷ<D3A6><CDB7><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>
|
||
/// </summary>
|
||
public void HMDBackKey()
|
||
{
|
||
//ͷ<><CDB7><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>DOWN<57>¼<EFBFBD><C2BC><EFBFBD>̧<EFBFBD><EFBFBD>UP<55>¼<EFBFBD>
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_REAL_TIME_RESPONSE_HMD_BACK_KEY_IN_VR_APP, SwitchEnum.S_ON);
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// <summary>
|
||
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public int GetMaxVolumeNumber()
|
||
{
|
||
return PXR_System.GetMaxVolumeNumber();
|
||
}
|
||
/// <summary>
|
||
/// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public int GetCurrentVolumeNumber()
|
||
{
|
||
return PXR_System.GetCurrentVolumeNumber();
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void VolumeUp()
|
||
{
|
||
PXR_System.VolumeUp();
|
||
}
|
||
/// <summary>
|
||
/// <20><>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void VolumeDown()
|
||
{
|
||
PXR_System.VolumeDown();
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void SetVolumeNum(int volume)
|
||
{
|
||
PXR_System.SetVolumeNum(volume);
|
||
}
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ֵ
|
||
/// </summary>
|
||
public void SetVolumeMaxNum()
|
||
{
|
||
SetVolumeNum(GetMaxVolumeNumber());
|
||
}
|
||
#endregion
|
||
|
||
#region Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// <summary>
|
||
/// Ͷ<><CDB6><EFBFBD><EFBFBD>ַ
|
||
/// </summary>
|
||
public string GetCastUrl()
|
||
{
|
||
PXR_Enterprise.PICOCastInit(null);
|
||
return PXR_Enterprise.PICOCastGetUrl(PICOCastUrlTypeEnum.NO_CONFIRM_URL);
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20><>ϼ<C4BB><C2BC><EFBFBD><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
public void PICOCastSetShowAuthorization()
|
||
{
|
||
PXR_Enterprise.PICOCastSetShowAuthorization(1);
|
||
}
|
||
|
||
/// <summary>
|
||
/// <20><><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6>ʱ<EFBFBD><CAB1>ɫͼ<C9AB><CDBC>
|
||
/// </summary>
|
||
public void OffCastNotification()
|
||
{
|
||
SwitchSystemFunction(SystemFunctionSwitchEnum.SFS_BASIC_SETTING_SHOW_CAST_NOTIFICATION, SwitchEnum.S_OFF);
|
||
}
|
||
|
||
/// <summary>
|
||
/// Ͷ<><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>
|
||
/// </summary>
|
||
public void CastOption()
|
||
{
|
||
PICOCastSetOption(PICOCastOptionOrStatusEnum.OPTION_AUDIO_ENABLE, PICOCastOptionValueEnum.OPTION_VALUE_AUDIO_ON);
|
||
}
|
||
|
||
/// <summary>
|
||
/// Ͷ<><CDB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
/// </summary>
|
||
void PICOCastSetOption(PICOCastOptionOrStatusEnum castOptionOrStatus, PICOCastOptionValueEnum castOptionValue)
|
||
{
|
||
PXR_Enterprise.PICOCastSetOption(castOptionOrStatus, castOptionValue);
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
#else
|
||
using UnityEngine;
|
||
|
||
public class PicoAPI : MonoBehaviour
|
||
{
|
||
public static PicoAPI _Instance;
|
||
|
||
private void Awake()
|
||
{
|
||
if (_Instance == null)
|
||
{
|
||
_Instance = this;
|
||
}
|
||
}
|
||
|
||
public void AcquireWakeLock() { }
|
||
public void TryRecenter() { }
|
||
public void OpenTouPing() { }
|
||
public void OpenApp(string pkgName) { }
|
||
public void OpenWIFI() { }
|
||
public void PlayPicoVideo(string fileName) { }
|
||
public void AppKeepAlive(string appPackageName) { }
|
||
public void SetAppAsHome(string pkgName) { }
|
||
public void SetUSBConfigMode() { }
|
||
public void KillAppsByPidOrPackageName(string pkgName) { }
|
||
public void KillBackgroundAppsWithWhiteList(string pkgName) { }
|
||
public void SetIpd(float ipd) { }
|
||
public void OffBoundary() { }
|
||
public int[] GetControllerBattery() { return new int[0]; }
|
||
public void InstallApk(string path) { }
|
||
public void UnInstallApp(string appPackageName) { }
|
||
public string PicoSN() { return ""; }
|
||
public string PicoPower() { return "0"; }
|
||
public string ChargingStatus() { return ""; }
|
||
public string PicoWIFIState() { return ""; }
|
||
public void ShutDown() { }
|
||
public void Reboot() { }
|
||
public void SetHomeNoAvail() { }
|
||
public void RemoveControllerHomeKey() { }
|
||
public void OffSystemUpdateApp() { }
|
||
public void OffSystemUpdate() { }
|
||
public void OffNavgation() { }
|
||
public void OffKillVRapp() { }
|
||
public void OnPowerCtrlWIFIEnable() { }
|
||
public void OffAppQuitConfirmDialog() { }
|
||
public void OnSixDof() { }
|
||
public void HandRecenter() { }
|
||
public void HandHome() { }
|
||
public void OnUSBDebugging() { }
|
||
public void OffCastNotification() { }
|
||
public void PICOCastSetShowAuthorization() { }
|
||
public void CastOption() { }
|
||
public string GetCastUrl() { return ""; }
|
||
public void OpenSystemUpdateApp() { }
|
||
public void OpenSystemUpdate() { }
|
||
public void OpenNavgation() { }
|
||
public void OpenKillVRapp() { }
|
||
public void OpenAppQuitConfirmDialog() { }
|
||
public void OpenHandRecenter() { }
|
||
public void OpenHandHome() { }
|
||
public void SetVolumeNum(int volume) { }
|
||
}
|
||
#endif
|
||
|