나는 (다른 응용 프로그램보다) 항상 화면에 표시되는보기가 있으며, 터치 이벤트를 수신하지 않고 더 멀리 전달하는 것보다 좋아합니다. 실행중인 Service
에서항상 화면에 나타나는보기 만지기
코드 :
WindowManager.LayoutParams localLayoutParams = new WindowManager.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
v.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(getApplicationContext(), "view touched", Toast.LENGTH_SHORT).show();
return false;
}
});
WindowManager localWindowManager = (WindowManager)getSystemService("window");
localWindowManager.addView(v, localLayoutParams);
현재 나는 접촉을하지 않습니다.
나는 아직 'onTouch' 이벤트를 얻지 못했습니다.'FLAG_WATCH_OUTSIDE_TOUCH' 플래그를 사용할 때 다른 앱과 상호 작용할 수있었습니다. – RCB
다른 장소에서 터치 리스너를 보았지만 미흡했습니다. 그 사건.
현재 저는 광산 (내 광산이 아닌)의 견해에 사건을 전달하는 문제를 극복하려고 노력하고 있습니다. 당신의 대답을 이해함에 따라 나는 이것을 할 수 없습니다. 그래서 시스템에 터치 이벤트를 시뮬레이트하는 방법을 찾으려고합니다. – RCB
언급 한 앱에는 솔루션이 없습니다. 터치 이벤트 만 처리하고 더 이상 전달하지 않기 때문입니다. – RCB