0

일부 안드로이드 응용 프로그램을 개발 중입니다. 응용 프로그램에서 홈 버튼을 비활성화하고 싶습니다.
그래서 onAttachedToWindow 메서드를 오버라이드하려고했지만 응용 프로그램을 시작할 때 문제가 발생합니다.Android 홈 버튼 오류 비활성화

코드 :

@Override 
public void onAttachedToWindow(){ 
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); 
    super.onAttachedToWindow(); 
} 

오류 :

java.lang.IllegalArgumentException가 : 윈도우가 추가 된 후 창 유형을 변경할 수 없습니다. android.os.Parcel.readException (Parcel.java:1603)의 android.os.Parcel.readException (Parcel.java:1552)의 android.view.IWindowSession $ Stub $ Proxy.relayout (IWindowSession.java : 912) android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1581) android.view.ViewRootImpl.doTraversal에서 에서 android.view.ViewRootImpl.relayoutWindow (ViewRootImpl.java:5415) 에서 (ViewRootImpl.java:1107) android.view.ViewRootImpl $ TraversalRunnable.run (ViewRootImpl.java:6013) android.view.Choreographer $ CallbackRecord.run (Choreographer.java:858) android.view.Choreographer.doCallbacks (Choreographer.java:670) android.view.Choreographer.doFrame (Choreographer.java:606) android.view.Choreographer $ FrameDisplayEventReceiver.run (Choreographer.java:844) android.os.Handler.handleCallback (Handler.java:739) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:148) 에서 android .App.ActivityThread.main (ActivityThread.java:5417) at java.lang.reflect.Method.invoke (기본 메소드) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:726),

중 하나가 생각 com.android.internal.os.ZygoteInit.main (ZygoteInit.java:616)에서,이 코드의 오류는 무엇인가?

+1

홈 버튼 기능을 사용자 정의 할 수 없습니다. – Dev

답변

0

다른 질문에서 언급했듯이 홈 버튼을 사용 중지하거나 무시하거나 홈 버튼을 감지 할 수 없습니다. setContentView() 전에 만 설정할 수있는 창 유형을 설정하십시오.

+0

안녕하세요 토마스 (Tomasz),하지만 웹 및 블로그의 대부분은 이렇게 말합니다. 홈 버튼을 비활성화하는 방법입니다. 어떤 방법 으로든이 방법을 알고 있습니까? –

+0

웹이나 블로그 중 일부를 보여줄 수 있습니까? 이전 Android SDK에 대한 참조 일 수도 있습니다. SDK 14 이전에는 가능했던 것처럼 기억합니다. 최신 버전에서는 집을 사용 중지 할 수 없습니다 (보안상의 이유로 상상해보십시오. 누군가가 집을 막고 휴대 전화로 아무 것도 할 수 없음). 왜이 일을하려고합니까? 어쩌면 목적을 달성하기위한 더 좋은 방법이있을 수 있습니다. –

+0

https://developer.zebra.com/thread/1163, http://stackoverflow.com/questions/3898876/how-to-disable-the-home-key, this 참조는 위의 홈 버튼 해제 기술에 해당합니다. 하지만 내 최소 SDK 버전은 15입니다. 그래서 나는 지금 이유를 이해할 수있다. –

1

내 질문에 대한 답변을 찾았습니다. 안드로이드 Lolipop에는 startLockTask() 함수가 있습니다.이 함수는 작업을 고정시킵니다. 너 모두 다.