0
내 장치가 연결이 끊긴 경우 프로그램 적으로 감지 할 수 있습니까?Android 액세서리 모드 중 장치 연결이 끊어졌습니다.
내 액세서리 모드 응용 프로그램에서 연결 끊기 이벤트를 플래그로 표시하려고합니다. 그럼 가능합니까? 예, 어떻게?
내 장치가 연결이 끊긴 경우 프로그램 적으로 감지 할 수 있습니까?Android 액세서리 모드 중 장치 연결이 끊어졌습니다.
내 액세서리 모드 응용 프로그램에서 연결 끊기 이벤트를 플래그로 표시하려고합니다. 그럼 가능합니까? 예, 어떻게?
BroadcastReceiver를 사용하여 UsbManager.ACTION_USB_DEVICE_DETACHED 및 UsbManager.ACTION_USB_DEVICE_ATTACHED 이벤트를 수신 할 수 있습니다.
<receiver android:name="UsbConnectionReceiver">
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED">
</action>
</intent-filter>
<intent-filter>
<action android:name="android.hardware.usb.action.ACTION_USB_DEVICE_DETACHED">
</action>
</intent-filter>
</receiver>
또는 수 정기적으로 장치가 목록에 있는지 확인 (타이머 또는 ScheduledExecutorService를 사용) 연결 장치를 통해주기.
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
UsbDevice device = deviceList.get("deviceName");
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while(deviceIterator.hasNext()){
UsbDevice device = deviceIterator.next();
if (usbDeviceIsMyDevice(device)){
// your code
}
}