2015-07-09 2 views
2

Есть андроид устройства без экрана. При подключении устройства USB автоматически появляется диалоговое окно системы, позволяющее использовать USB. Необходимо получить разрешение без использования экрана устройства. Предполагается, что приложение устройства будет установлено заранее и когда USB-устройство будет подключено автоматически.Android-хост для Android. Как получить разрешение на использование USB-устройств без отображения диалогового окна?

Как именно это можно сделать?

+0

Я не думаю, что вы можете это сделать. Подумайте еще раз. разве это не было бы огромной нехваткой безопасности? Если приложение использует USB без запроса, вы можете сделать почти все. Это не идея. Само устройство Android может использовать его в настройках, но не в приложении. – greenhoorn

+0

Возможно, есть способ сделать это с помощью ** root ** и установить приложение как ** систему **? – Vitaliy

+0

Для устройства предполагается использовать ** USB Host **, а не для подключения к компьютеру. – Vitaliy

ответ

3

Я сделал по аналогии в topic. Классы для правильной версии SDK взяли away. Я создаю необходимые пакеты и копирую их в указанные и отсутствующие классы. Приложение должно быть скопировано в папку system/priv-app и все заработано.

0

Добавить в деятельности в файле манифеста

<activity ...> 
    ... 
    <intent-filter> 
     <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" /> 
    </intent-filter> 

    <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" 
     android:resource="@xml/accessory_filter" /> 
</activity> 

Создать файл с Params вашего USB-устройства в разрешении/XML

<?xml version="1.0" encoding="utf-8"?> 

<resources> 
    <usb-accessory manufacturer="Google, Inc." model="DemoKit" version="1.0" /> 
</resources> 

Fore больше информации см https://developer.android.com/guide/topics/connectivity/usb/accessory.html

+0

<Объект-фильтр> и добавлен в мое устройство. Когда вы подключаете USB, для разрешения появляется диалоговое окно системы, но мне нужно иметь разрешение на автоматический вызов без диалога. – Vitaliy

+0

Когда вы подключаете USB в первый раз (с уже установленным приложением), диалоговое окно разрешения системного вызова. Тогда еще раз при запуске приложения usb получит разрешение автоматически. Если вы используете root, смотрите http://stackoverflow.com/questions/13726583/bypass-android-usb-host-permission-confirmation-dialog –

+0

Устройство ** без экрана **, но с предопределенным приложением. Когда вы подключаете USB-устройство, я не смогу нажать кнопку «ОК» и установить выбор по умолчанию. Необходимо получить разрешение, не прибегая к диалогу, даже в первый раз. – Vitaliy