usb otg를 이용해서 센서노드와 통신하는 앱을 개발 중입니다.
usb otg 케이블을 연결하면 'usb 커넥터가 연결 되었습니다.' 라고 뜨는데
이 이벤트를 캐치 해서 자동으로 usb 퍼미션 획득을 묻는 창을 띄우고 싶습니다.
usb 퍼미션 획득을 묻는 창을 띄우는것은 아는데
usb otg 케이블 연결시에 이벤트를 획득하는 방법은 모르겠네요
//USB 연결 리시버
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_UMS_CONNECTED);
intentFilter.addAction(Intent.ACTION_UMS_DISCONNECTED);
mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if (action.equals(Intent.ACTION_UMS_CONNECTED) == true) {
Toast.makeText(MainActivity.this, "USB Connect", Toast.LENGTH_SHORT).show();
new UsbController(MainActivity.this);
} else if (action.equals(Intent.ACTION_UMS_DISCONNECTED) == true) {
Toast.makeText(MainActivity.this, "USB Disconnect", Toast.LENGTH_SHORT).show();
}
}
};
registerReceiver(mReceiver, intentFilter);
위의 소스는 일반 usb 연결할때(pc와 연결할때) 쓰는 인텐트 필터인데 usb otg 케이블 연결할때는
안되더군요. 고수분들 답변 부탁드립니다.
USB악세서리 로 매니페스트에 추가하셔서 하는거 검색해보세요
android device-filter.xml 이거였나 이렇게 그대로 검색하셔도 예제많이나올거에요