0
我想在Android 5.1應用程序中收集觸摸輸入(位置和壓力)。這可以通過綁定到特定視圖的onTouchListener
來實現。但我想收集服務中的觸摸事件(在後臺運行),而不是綁定到特定的視圖。Android服務監聽觸摸事件
是否有可能在服務中收集觸摸事件?
我想在Android 5.1應用程序中收集觸摸輸入(位置和壓力)。這可以通過綁定到特定視圖的onTouchListener
來實現。但我想收集服務中的觸摸事件(在後臺運行),而不是綁定到特定的視圖。Android服務監聽觸摸事件
是否有可能在服務中收集觸摸事件?
基本上 - 是的。您可以將任何View
傳遞到您的服務並在那裏添加觸摸事件偵聽器。但有了這個,你可以面對嚴重的內存泄漏問題,因爲View
你會通過Activity
的Fragment
Context
。也許它可以與一些ServiceConnection
和管理onCreate
/onDestroy
(activity
/fragment
生命週期)。
但是!真正更好的方法將覆蓋Activity
,然後繼承你的所有其他活動。在那裏你會有內存泄漏的機率減少。您可以嘗試將onTouchEvent
偵聽器添加到活動裝飾視圖並接收整個屏幕的觸摸事件。或者甚至在所有視圖前添加一些隱形視圖並跟蹤觸摸(我不確定DecorView
變體是否可用)。然後通過觸摸無論你想要的地方。