2014-04-20 34 views
0

我在我的活動中使用了以下代碼。如何在Service中使用dispatchKeyEvent()?

dispatchKeyEvent(new KeyEvent (KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK)); 

Problem:

如何使用上述服務線路碼。
我認爲dispatchKeyEvent方法存在於Activity類中,而不是存在於Service類中。

所以有其他方法或如何解決它。

回答

1

我怎樣才能在服務

你不能用上面這行代碼。

我認爲dispatchKeyEvent方法存在於Activity類中,而不存在於Service類中。

正確。服務沒有UI,因此沒有要發送的關鍵事件。

所以還有其他方法或如何解決它。

不要試圖從服務派發關鍵事件。在任何人使用它的範圍內,dispatchKeyEvent()都用於模擬活動自己UI中的關鍵事件。歡迎您提供服務,告訴您的活動派遣重要活動。您可以使用事件總線實現(例如,greenrobot的EventBus)。

+0

謝謝。我想要一個按鈕到notificationBar。當用戶點擊它。按鈕執行什麼後退按鈕android做。事件巴士幫助我? –

+0

@ MM-BB:除非您的意思是「顯示'Notification'」,否則您無法「將按鈕放到notificationBar」。我不知道爲什麼用戶想要滑下通知抽屜並點擊「通知」,而不是隻按下他們已有的BACK按鈕。另外請注意,如果您的活動位於前臺,唯一一次您可以「完全執行後退按鈕的操作」。 – CommonsWare

相關問題