2016-07-13 2 views
0

앱은 현재 IMMERSIVE_STICKY 모드에서 실행되지만 사용자가 측면에서 스 와이프하면 OS가 메뉴와 집/뒤로 버튼을 보여줍니다. 그래서 사용자는 내 앱을 끄거나 받아 들일 수없는 다른 것들을 실행할 수 있습니다. 따라서 탭 및 스 와이프를 방지하기 위해 안드로이드에서 터치 스크린 장치를 완전히 비활성화해야합니다.안드로이드 '터치 스크린 장치를 해제하는 방법?

공식 API를 통해 비활성화 할 수 없다면 콘솔을 사용하여 터치 패드를 비활성화 할 수 있습니까? Android가 뿌리를 내릴 것입니다.

터치 패드 장치가/sys/devices/virtual/input/input1이지만 여전히 비활성화 할 수있는 곳을 찾을 수 없습니다./power/control은 'on'또는 'auto'만 사용합니다.

xinput으로 다른 해결책을 찾았지만 안드로이드에는 아무도 없습니다.

+0

이것은 허용되지 않습니다. 사용자가 앱만 사용하도록 할 수는 없습니다. Android OS는 멀티 태스킹 기능을 제공하므로 사용자는 여러 앱 사이를 전환 할 수 있습니다. 그리고 휴대 전화가 뿌리를 뀌어도 화면 터치를 완전히 끌 수는 없습니다. –

+0

애플리케이션이 범용 Android 호스트를 독점적으로 제어 할 수있는 방법이 없습니다. 이것이 자신의 하드웨어와 자신의 안드로이드 이미지라면, 당연히 하나의 애플리케이션 만 실행하도록 모든 것을 설정할 수 있습니다. 그러나 이것은 애플리케이션 외부에서 제어되며 시스템 구성에 속합니다! –

+0

이 문제를 해결 했습니까? 터치 스크린을 사용 중지 할 필요가 있습니다 .thx, – ransh

답변

2

onTouchEvent 함수를 재정의 할 수 있다고 생각합니다.

private boolean touch_disabled=true; 
@Override 
public boolean onTouchEvent(MotionEvent e) { 
     if (touch_disabled){ 
      return true; 
     }else { 
      //do something here if your touch screen is activated 
     } 
    } 
    public disable_touch(boolean b) { 
     touch_disabled=b; //function to activate or desactivate touch screen 
    } 
+0

터치 이벤트 무시는 앱이 시스템이 아닌 터치 이벤트를 무시하도록합니다. 그래서 메뉴와 버튼이 계속 표시됩니다. – Vlad

+0

@Vlad 유감스럽게도 일부 시스템 이벤트를 재정의하는 것은 불가능합니다. 그것은 명백한 보안상의 이유로입니다. 터치 락과 같이 터치 스크린을 잠 그려는 용도의 앱도 있지만 작동 방식은 다릅니다. –

관련 문제