2011-07-15 21 views
7

Làm cách nào để nhận các sự kiện chạm như bạn có thể từ Hoạt động sử dụng public boolean onTouchEvent(MotionEvent event)? Rõ ràng không phải là một phương pháp onTouchEvent để ghi đè trong một dịch vụ, vì vậy làm thế nào tôi có thể đi về việc này? Có cách trực tiếp hay một công việc đáng tin cậy?Nhận sự kiện chạm (tọa độ, MotionEvents, vv) trong một dịch vụ

Ý tưởng của tôi là tạo một dịch vụ nghe trong nền để người dùng thực hiện một cử chỉ nhất định, sau đó thực hiện điều gì đó khi người dùng đó đã thực hiện đúng cử chỉ. Cảm ơn bạn!

EDIT: Câu hỏi này dành cho câu trả lời cho số question này.

+0

Tôi không biết 100% vì vậy tôi sẽ không đặt câu trả lời này vào câu trả lời, nhưng toàn bộ ý tưởng về một Dịch vụ không có bất kỳ tương tác nào của con người. Tôi cũng nghĩ rằng 9 lần trong số 10 người sẽ sử dụng điện thoại sẽ không làm cử chỉ bên ngoài một ứng dụng, vì vậy bất kỳ giải pháp nào cũng có thể đưa ra một trình xử lý có thể làm chậm trải nghiệm người dùng tổng thể. – DeeV

+0

Bạn hãy xem hai ứng dụng này https://market.android.com/details?id=mobi.conduction.swipepad.android&feature=search_result và https://market.android.com/details?id=com.mobilemerit .wavelauncher & feature = search_result. Tôi đang cố gắng tìm ra cách để làm điều đó. – Brian

+0

Sau đó, tôi hy vọng một người nào đó trả lời câu hỏi này bởi vì tôi cũng muốn được biết. Mặc dù, tôi nghĩ * đó là những tiện ích tùy chỉnh giống như những vật dụng được tìm thấy trên màn hình nền của điện thoại nhưng chúng luôn ở trên đầu. Nếu tôi nhớ đúng, Trình khởi chạy Wave bắt đầu tắt màn hình và bạn phải kéo nó lên. Phía dưới 20 pixel hoặc hơn là cạnh của tiện ích ghi lại được chạm vào. Từ vẻ ngoài của nó, các swipe pad là cùng một cách. Không sử dụng dịch vụ. – DeeV

Trả lời

0

Bạn có thể tạo chế độ xem 0x0 và thêm nó vào cửa sổ Dịch vụ làm đối thoại hệ thống luôn ở trên cùng.

Bạn có thể nghe sự kiện bằng cách sử dụng quyền 'WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH'. Thật không may, bạn chỉ có thể nhận được sự kiện cảm ứng ban đầu và bạn không thể vượt qua sự kiện này để giảm các hoạt động. Tôi vui vì bạn không thể làm điều đó thực sự; bạn có thể tưởng tượng cách phần mềm độc hại sẽ khai thác điều này để có được thông tin đăng nhập của người dùng hay không.

+0

Cảm ơn nhưng nếu bạn đề cập đến câu hỏi của tôi, tôi có một liên kết đến một câu hỏi cho thấy nó hoạt động như thế nào. Vấn đề lớn nhất của tôi là thực sự nhận được cử chỉ cảm động. Các ứng dụng như Wave Launcher và SwipePad có thể thực hiện việc này nhưng tôi không biết cách thực hiện. – Brian

Các vấn đề liên quan