У меня есть родное приложение Android VR, работающее на GearVR, которое явно не использует никаких сервисов GearVR, включая запуск сервиса GearVR при подключении или использование GearVR SDK в кодовой базе.Причина этого в том, что я не хочу, чтобы Oculus Services запускался, или Oculus Home запускался, или предоставлял файлы osig или что-то из этого.
Я изо всех сил пытаюсь получить доступ к датчику приближения на GearVR, чтобы перевести устройство в спящий режим после извлечения без использования Oculus Mobile SDK.
Этот код намерение того, что я пытаюсь достичь.
Здесь кажется, что событие 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
}
}
};
Мне интересно, есть ли "хакерский" способ сделать это.
Я думаю, что из 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 для ответа наэти события.