Files
PrinceOfGlory/Assets/代码/PicoSDK/PicoAPI.cs
Sora丶kong 2f0862b382 修复报错
2026-03-03 11:32:30 +08:00

755 lines
22 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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