2017-02-06 4 views
0

Я использую планшетное устройство panasonic, у которого есть USB-порт, который позволяет подключать любой pendrive непосредственно к планшету.Как определить, что мой планшет подключен к USB и USB, способен читать/писать

Мое приложение должно читать данные и записывать данные на USB.

Иногда связано с подключением к компьютеру hough usb, Запись на USB-носитель происходит из-за ослабления соединения или не монтируется должным образом или USB не отвечает.

Итак, прежде чем я начну писать что-то на USB , я хочу проверить USB в состоянии записи данных или нет? и я даже хочу знать, что мое устройство связано с USB или нет в любой момент времени (позволяет нажать «загрузить»).

+0

Реализовать широковещательный приемник для '' Intent.ACTION_MEDIA_MOUNTED' и Intent.ACTION_MEDIA_REMOVED'. В 'onReceive()' вы можете получить uri для пути «Файл» для ручного накопителя. – greenapps

+0

Но вы можете сделать это намного проще. Просто отобразите до трех элементов, возвращаемых 'getExternalFilesDirs()' пользователю, и позвольте пользователю выбрать его. Третьим элементом будет USB-накопитель, если второй - SD-карта. – greenapps

+0

Сказав, что вы должны понимать, что в основном вы сможете писать только для конкретных каталогов приложений на ручном накопителе. Если вы хотите писать повсюду, вы должны использовать «Storage Access Framework» и позволить пользователю выбрать директорию с «Intent.ACTION_OPEN_DOCUMENT_TREE» или такой. – greenapps

ответ

1

вы можете зарегистрировать радиопередатчик для этого.

IntentFilter filter = new IntentFilter(); 
filter.addAction("android.hardware.usb.action.USB_STATE"); 

приемник для этого

public class USBReceiver extends BroadcastReceiver { 
    public void onReceive(Context context, Intent intent) { 
     if (intent.getExtras().getBoolean("connected")) { 
      //if connected you can read/write data to file. 
     } 
    } 
} 
+0

Не могли бы вы предложить в нажатие кнопки «Активность» нажать кнопку? .. Позволяет сказать, что я хочу проверить статус подключенного или смонтированного статуса, когда я нажимаю кнопку «Экспорт». Мое требование, когда пользователь нажимает на экспорт, я должен делать ниже. * Если USB не подключен, я должен показать информационное сообщение о том, что «USB не подключен» * Если USB не находится в состоянии для чтения/записи, хотя он подключен, мне нужно показать сообщение «USB не находится в правильном состоянии "или какое-то такое сообщение * Если оно подключено и в состоянии записать, то перейдите к дате записи на USB –

+0

' вы можете использовать для этого makefiler. '. Странная формулировка. Вы должны зарегистрировать широковещательный приемник для этого, я бы сказал. И вы не показали, как это сделать. – greenapps

+0

«Подключен» означает, что он подключен и готов к записи ?. –

Смежные вопросы