2011-08-24 2 views
3

USB 연결 감지에 대한 다른 게시물을 보았습니다. 그러나 MPT에 대해 특별히 언급하지 않았고 일반적인 탐지 기능에 대해서는 언급하지 않았으므로 MTP에 대해 구체적으로 질문했습니다.Android Honeycomb 3.2 USB를 통한 MTP 연결 감지

Xoom을 USB를 통해 컴퓨터에 연결하고 MTP 연결이 설정되면 내 응용 프로그램에서 파일을 쓰길 원합니다. USB가 연결이 끊어지고 MTP 서버가 멈 추면 다른 파일을 쓰고 싶습니다.

그래서 연결된 사례와 연결되지 않은 사례를 모두 감지하고 싶습니다. 이런 일이 발생했을 때 나는 어떤 종류의 의도를 찾지 못하는 것 같습니다.

는 좀 intests가에 나와 보았다 android.developer 같은 :

ACTION_MEDIA_SHARED

ACTION_UMS_CONNECTED

ACTION_UMS_DISCONNECTED

하지만 이러한 USB 대용량 저장 장치와의 Xoom에 사용됩니다 USB 대용량 저장 장치가 아닌 MTP를 수행합니다.

MTP 서버의 시작 및 중지와 함께 USB 연결이 기록됨에 따라 logcat 출력이 표시되어야합니다.

D/Vold 사용자는 (85) : USB는

단선

D/더링 (155) = 4 어떤 InitialState.processMessage

D/더링 (155) sendTetherStateChangedBroadcast 0,0,0

D/MtpService (2674) MTP 서버를 정지

D/더링 (155) sendTetherStateChangedBroadcast 1, 0, 0

,691 363,210

D/더링 (155) interfaceAdded : USB0 (2674)

D/MtpService는 : MTP 서버를 시작

D/MtpService : 65537/MNT/SDCARD

D/MtpService (2674)를 addStorageLocked (2674)는 : USB 누군가가 내 목표를 달성 할 수있는 방법을 알고 있나요

연결 :/sdcard에

D/Vold 사용자 (85) 65537/MNT는 addStorageLocked? USB 연결/연결 끊김 감지 기능조차도 나에게 도움이 될 것입니다. 다른 게시물에서 볼 수 있듯이 이것이 가능하지는 않습니다.

감사합니다.

답변

2

나는 같은 일을 궁금해하고 있었고, 난 대체를 내놓았다 :

은 내가 batery 상태를 확인합니다. 배터리에서 이벤트가 발생하면 ACTION_BATTERY_CHANGED이라는 인 텐트가 호출됩니다. 이 의도에는 몇 가지 정보가 포함 된 추가 필드가 있습니다.그 중 하나는 EXTRA_PLUGGED입니다 :

Indicating whether the device is plugged in to a power source; 0 means it is on battery, other constants are different types of power sources. 

다른 상수는 BATTERY_PLUGGED_AC

BATTERY_PLUGGED_USB을있는 스마트 폰이 MTP 프로토콜을 사용하는 경우에도 USB에 연결되어있는 경우 그래서이 방송 당신이 알 수 있습니다. 스마트 폰이 연결되어있는 경우

0

+0

전용 충전기가있는 장치에서는이 기능이 작동하지 않습니다. – Macchiato

+0

전원이 연결되어 있지 않을 때 USB 연결이 불규칙한 경우에도 진단을 위해 작동하지 않습니다. – Michael

1

BATTERY_PLUGGED_USB에서 EXTRA_PLUGGED 값이 변경 나는 그것을 테스트하고 그것을 PTP 또는 MTP 지원 장치와 함께 작동이 방송 android.hardware.usb.action.USB_STATE 들어 때 확인해야 juste 알고. USB 케이블이 연결되어 있는지 여부를 알려주는 부울 추가 "연결됨"이 있습니다.