我有一个运行在GearVR上的本地Android VR应用程序,该应用程序明确不使用任何GearVR服务,包括在连接时运行GearVR服务,或在代码库中使用GearVR SDK。这样做的原因是因为我不想运行Oculus Services,也不想启动Oculus Home,也不希望提供osig文件或任何其他文件。
我正在努力访问GearVR上的接近传感器,以使设备在卸下后进入睡眠状态,而无需使用Oculus Mobile SDK。
This code是我要完成的目标。
在这里,当将设备从头部移开时,似乎应该触发main活动中的onPause事件,但这不会发生。
private BroadcastReceiver mProxSensorBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.proximity_sensor")) {
//HMD removed
}
if (intent.getAction().equals("com.oculus.mount_handled")) {
//HMD present
}
}
};
我想知道是否有一种“ hacky”的方式来做到这一点。
我认为从Logcat中发现这些事件与拆卸和重新连接耳机有关
06-17 14:14:56.453 1326 2364 D InputReader: sendBroadcastEvent 1 (vr proximity)
06-17 14:14:56.453 1326 2364 V InputManager: notifyVRProximityEventChanged event=1
06-17 14:14:56.453 1326 1690 V InputManager: sendVRProximityEventChanged event=1
因此,正在发生一些活动,我只是在与适当的BroadcastReceiver挣扎,以响应这些事件。