2012-01-05 3 views
2

내 앱 위젯에서 volume upvolume down keyEvents를 처리하고 싶습니다. 실제로는 활동이 아닌 app widget 또는 서비스에서 발생해야합니다 (홈 화면이 표시되어야 함).위젯/서비스에서 주요 이벤트를 처리 할 수있는 방법이 있습니까?

하지만 내가 아는 한 앱 위젯이나 서비스에서 사용자와 반응 할 가능성이없는 것 같아서 keyEvent를 가져올 수 없습니다.

내 질문은 내가 틀렸고 keyEvents 또는 어쩌면 액티비티를 보이지 않게 할 가능성이 있습니까?

답변

0

트릭을 발견했습니다. 정말 최고는 아니지만 제 경우에는 사용할 수 있습니다. 테마 안드로이드 매니페스트에

android:theme="@android:style/Theme.Dialog" 

또는

android:theme="@android:style/Theme.Translucent.NoTitleBar" 

을 할당으로

, 그것은 투명 인 대화 나처럼 보이는 활동이 가능합니다. 그래서 홈 화면이 보이고 Activity에서 keyEvents를 얻을 수 있습니다.

는 사용자가 활동하는 동안 화면과 상호 작용할 수있는 실행,하지만 내 경우에는이 반드시 필요하지 않은 것이 가능하지 않지만.

2

"위젯"이 "앱 위젯"을 의미하는 경우, 아니오, 앱 위젯의 주요 이벤트에 응답 할 수 없습니다.

+0

아, 당연히 "앱 위젯"을 의미합니다. 감사합니다. – tschob

+1

@tschob : 예, "앱 위젯"에 대한 다른 이름이 생겨서 "위젯" 'TextView' 또는 "위젯"이 실제로 "앱 위젯"을 의미하는 것과 같은 것을 의미합니다 ... – CommonsWare

관련 문제