0
안녕하세요, 저는 스마트 폰에서하는 모든 터치 이벤트를 차단하고 (다른 애플리케이션을 차단하지 않는) 투명 오버레이를 만들려고합니다. 특히 스크롤 이벤트에 관심이 있습니다. 서비스 클래스의 코드입니다. :Android는 서비스 오버레이를 만들고 모든 터치 이벤트 데이터를 차단할 수 있습니까?
@Override
public void onCreate() {
super.onCreate();
windowManager=(WindowManager)this.getSystemService(Context.WINDOW_SERVICE);
view=new LinearLayoutCompat(this);
LayoutParams params=new LayoutParams(1, ViewGroup.LayoutParams.MATCH_PARENT);
view.setLayoutParams(params);
view.setOnTouchListener(this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
LayoutParams params = new LayoutParams(
1, /* width */
1, /* height */
LayoutParams.TYPE_PHONE,
LayoutParams.FLAG_NOT_FOCUSABLE
| LayoutParams.FLAG_NOT_TOUCH_MODAL
| LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSPARENT
);
params.gravity = Gravity.LEFT | Gravity.TOP;
windowManager.addView(view, params);
return super.onStartCommand(intent, flags, startId);
}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
Log.d(TAG,motionEvent.toString());
return false;
}
그러나이와 나는 단지 모션 이벤트의 ACTION_OUTSIDE 유형을 얻고, 내가 스크롤을 추적하는 나는 미리 감사 이벤트의 모든 배열을 필요로한다!
나는 이것이 내가 그 이유라고 상상했을 것이다. D : 감사합니다. – Matthew