2011-02-05 3 views
2


나는 내 라이브 벽지가 CPU가 초과되었을 때 ACTION_MOVE 이벤트를 수신하지 않는 것으로 나타났습니다. 그러나 ACTION_DOWN 및 ACTION_UP 이벤트는 계속 수신됩니다.라이브 벽지가 ACTION_MOVE 이벤트를받지 못하고 있습니까?

설명하기 위해 최소한의 이클립스 프로젝트를 설정했습니다. 메뉴 -> 구성을 사용하면 프레임 속도 제한을 전환 할 수 있습니다.

http://www.mediafire.com/file/m7v0czmovtatuu1/TouchTest.zip

은 다른 사람이이 발생, 또는 이유에 대한 설명을 했습니까?

편집 : 이후 진저 브레드에서만 발생하는 것으로 나타났습니다. 그래도 해결책은 없습니다. 파일을 사용할 수 없기 때문에

답변

1

는 더 이상 소스에서 볼 수없는하지만 당신은 그것을 시도해야합니다 :

@Override 
     public boolean onTouchEvent(MotionEvent event) { 

       if(event.getAction() == MotionEvent.ACTION_DOWN){ 
         // your touch down code 
         return true; 
       }else if(event.getAction() == MotionEvent.ACTION_MOVE){ 
         //your touch move code 
       }else if(event.getAction() == MotionEvent.ACTION_UP){ 
         //your touch up code 
         return super.onTouchEvent(event); 
       } 
       return super.onTouchEvent(event); 
     } 
+0

안녕, 다른 계정이 영업을. 불행히도 그 시점의 메서드에서 어떤 유형의 MotionEvent도 수신되지 않았으므로이를 해결할 수 없습니다. 또한 배경 화면 서비스에는 onTouchEvent() 메서드에 대한 반환 유형이 없으므로 'true'를 반환하여 서비스가 일반 터치 핸들러와 같은 후속 이벤트를 처리하도록 지정할 수 없습니다. :( –

+0

또한 코드를 더 영구적으로 다시 업로드하겠습니다. –

관련 문제