我正在開發一個基本上是一個小部件和一個服務的應用程序。 小部件只是一個我希望它在設備背景中運行服務的按鈕。 因此,用戶只需單擊該按鈕,UI中什麼也不會發生,服務將在後臺啓動。 但我希望使用IntentService實現的後臺服務始終在單擊按鈕的按鈕後在後臺監聽我的設備抖動。它必須隨時監測加速度傳感器的任何變化。 最後我想打開某個應用程序,如果用戶搖動他的設備。我的IntentService在後臺如何總是收聽設備的抖動?
我已經實現了小部件,我點擊了按鈕,服務運行。我也執行了搖動部分,我可以在搖晃之後獲得搖動並做一些事情。我也知道如何在震動之後打開另一個應用程序。我不能通過這項服務來做到這一點!所以我的問題是這樣的:
- 我必須讓我的IntentService類實現SensorEventListener嗎?
- 如果是的話,這種實現方式是否足以讓它隨時收聽傳感器?我應該怎麼做onHandleIntent(Intent intent)呢?!
- 如果在常規活動中實施了傳感器更改,則將在onSensorChanged(SensorEvent sensorEvent)中監聽所有傳感器更改。這是否意味着我必須將所有功能都放在該功能中? onHandleIntent中沒有任何內容?
- 我也有這個意圖,來自我的小部件,我的服務,我不知道該怎麼辦!我已經開始intentService使用該意圖,但如果我不使用onHandleIntent我不能傳遞setAction爲我的意圖,所以它將是無用的!
我已回顧這個問題:["Shake" app to respond at any time]但我沒有得到服務在後臺偵聽的細節。
任何人都可以幫忙嗎?
我要去試試這個:http://stackoverflow.com/questions/17480004/android-intent-service-implementing-sensoreventlistener 但是我研究了很多,明白,如果我想要一個後臺活動要爲用戶運行,我應該使用IntentService而不是Service來完成它! – BizMoto