使用三星S6和S7的Gear VR安卓应用程序。以下实现是在移动设备插入VR时自动启动。
AndroidManifest.xml
<activity
android:name=".SplashActivity"
android:theme="@style/SplashTheme"
android:launchMode="singleTask"
android:excludeFromRecents="true"
android:configChanges="orientation|keyboardHidden|screenSize"
android:clearTaskOnLaunch="true"
android:screenOrientation="landscape"
android:stateNotNeeded="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.INFO" />
</intent-filter>
<intent-filter> <action android:name="android.intent.action.proximity_sensor" /> </intent-filter>
<intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> </intent-filter>
<intent-filter> <action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" /> </intent-filter>
<meta-data android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
android:resource="@xml/device_filter" />
</activity>
device_filter.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<usb-device vendor-id="04e8" product-id="07d2" />
</resources>
它可以工作,但Oculus应用程序有问题,有时我的应用程序在Oculus应用程序出现之前启动,有时Oculus程序出现,但我的应用没有启动。
当我们的应用程序在安装到VR之前打开时,由于冲突和系统显示对话框,应用程序崩溃,并显示"不幸的是,Oculus Home已停止"。
这些文档很有用:)https://developer.android.com/guide/topics/connectivity/usb/host.html
例如,这就是我们如何获得有关连接设备的详细信息。
UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);