Android 如何始终在Gear vr USB附件上启动应用程序

Android 如何始终在Gear vr USB附件上启动应用程序,android,samsung-mobile,gear-vr,Android,Samsung Mobile,Gear Vr,使用三星S6和S7的Gear VR Android应用程序。 以下实现用于在移动设备插入虚拟现实时自动启动。 AndroidManifest.xml <activity android:name=".SplashActivity" android:theme="@style/SplashTheme" android:launchMode="singleTask" android:excludeFromRecents=

使用三星S6和S7的Gear VR Android应用程序。 以下实现用于在移动设备插入虚拟现实时自动启动。
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应用程序出现但我的应用程序不会启动

有时,当我们的应用程序在安装到VROculus应用程序崩溃之前打开时,会说“不幸的是,Oculus Home已停止”。由于冲突,系统会显示对话框。

这些文档很有帮助:)

例如,这就是我们如何获得连接设备的详细信息

UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);

只要把这些放在你的空活动中,你就能体验到问题。有时,三星s6会显示带有复选框“默认使用此USB设备”的对话框。我认为在您可以通过Oculus应用程序启动应用程序之前,应用程序必须得到商店的批准?没错,我们正在测试阶段。为了解决这个问题,我编写了后台服务,在设备插入广播后启动,并确保我们的应用程序正在运行。所以用户现在不会面临太多问题。
产品id=“07d2”
代表什么?@mosquetero它是三星Gear VR产品id,用于USB识别