Как всегда запускать приложение на USB-накопителе Gear vr

Android-приложение для Gear VR с использованием Samsung S6 и S7. Следующая реализация предназначена для автоматического запуска при вставке мобильного устройства в 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 вылетает с сообщением «К сожалению, Oculus Home остановлен». из-за конфликта и система показывает диалог.


person Qamar    schedule 11.05.2016    source источник
comment
Просто поместив это в свою пустую активность, вы можете столкнуться с проблемой. Иногда Samsung s6 будет отображать диалоговое окно с флажком Использовать по умолчанию для этого USB-устройства.   -  person Qamar    schedule 12.05.2016
comment
Я думал, что приложение должно быть одобрено магазином, прежде чем вы сможете запустить его через приложение Oculus?   -  person Robert    schedule 18.05.2016
comment
Вы правы, мы находимся в стадии тестирования. Чтобы решить эту проблему, я написал фоновую службу, которая запускается после трансляции устройства и проверяет, работает ли наше приложение. так что теперь у пользователя не возникает особых проблем.   -  person Qamar    schedule 20.05.2016
comment
Что означает product-id="07d2"?   -  person mosquetero    schedule 31.05.2016
comment
@mosquetero — это идентификатор продукта Samsung Gear VR для идентификации через USB.   -  person Qamar    schedule 02.06.2016
comment
Одобрение @Robert не требуется. вам нужно этим способом   -  person Qamar    schedule 02.06.2016
comment
@Qamar Спасибо, что поделились.   -  person ZaEeM ZaFaR    schedule 02.06.2016
comment
@Qamar, пожалуйста, мне нужно знать, как я могу поддерживать работу своего приложения? Я сталкиваюсь с проблемой каждый раз, когда я подключаю устройство к Gear vr USB, моя активность становится черной, а Oculus Home запускается. После отключения он возвращается обратно в мое приложение.   -  person Amani Elsaed    schedule 24.11.2016


Ответы (1)


Эти документы полезны :) https://developer.android.com/guide/topics/connectivity/usb/host.html

Например, так мы можем получить информацию о подключенном устройстве.

UsbDevice device = (UsbDevice)intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
person Czikipajo    schedule 21.12.2016