2011-02-18 4 views
1

는 우리가 홈 키 이벤트를 재정의 할 수 없습니다 알고 있지만 안드로이드 2.2의 에뮬레이터에 보면 당신이 키의 대부분을 대체 한 응용 프로그램 자동차 홈을 볼 제안 집처럼, 끝 전화.안드로이드 재정 홈 키

이제 어떻게해야할까요? 나는 애플 리케이션의 소스 코드를 들여다 보려고했지만 놀라 울 정도로 사용 가능하지 않거나 찾지 못했다.하지만 나중에 생각하지 않는다.

답변

8

나는 @Romain Guy

사용하면 홈 버튼의 동작을 재정의 할 수 없습니다 동의합니다.

Car Home 앱의 기능 : 런처로 정의되었습니다. 런처로 자신을 정의 할 수도 있으며 홈 화면이 시작될 때 알림을 받게됩니다.

확인이 아웃 : Intent.html#CATEGORY_LAUNCHER

이 앱/활동이 그것의 동작을 재정의 할 수 있도록 홈 버튼을 누를 때 통지,하지만 때 시스템 통지 것을 의미하지 않음을 유의하시기 바랍니다 홈 화면을 시작하려고합니다. 둘 다 다른 것들입니다. 이 유형의 알림에서 Android는 이미 (현재 실행중인) 앱을 고정 된 상태로 보냈으며 현재 상황을 제어하지 못합니다.

이것은 내가 아는 한도 내입니다. 내가 틀린 곳이라면 @Romain Guy가 나를 교정 할 것 같아. 다음은 그것을하는 것처럼

+0

홈 버튼을 눌렀을 때 CATEGORY_LAUNCHER가있는 활동은 어떻게됩니까? –

+0

생각은 Romain Guy에서 왔지만이 대답은 더 유용하고 유용합니다. – ingsaurabh

4

홈 키를 덮어 쓰지 않고 Car Home 애플리케이션은 모든 애플리케이션에서 수행 할 수있는 실행기로 동작합니다. 이 동작은 매니페스트 파일에서 선언됩니다.

+0

내가 u는 더 작은 또는 방법의 소스 코드에 링크를 달성하는 몇 가지 코드 예제를 설명해주십시오 수 있습니다 이해 didnt는 오픈 소스 이후 앱 : – ingsaurabh

+0

매니페스트의 재고 Android 실행기를 보면 답을 찾을 수 있습니다. – Blrfl

1

4.0에 보이는 :

의 AndroidManifest.xml에서

<intent-filter> 
    <action android:name="android.intent.action.MAIN"/> 
    <category android:name="android.intent.category.HOME"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
</intent-filter> 
+0

나는 이것을 시도했지만 사용자가 기본 실행기로 응용 프로그램을 설정하면 항상 홈 버튼을 클릭하여 활동을 시작합니다. 그러나 실제 동작은 홈 버튼이 앱 외부가 아닌 앱에서만 오버라이드되어야한다는 것입니다. – abhinav

관련 문제