我正在开发一个基本上是一个小部件和一个服务的应用程序。该小部件只是一个按钮,我希望它在设备的后台运行服务。因此,用户只需单击按钮,UI 中没有任何反应,服务在后台启动。但是我希望使用 IntentService 实现的后台服务在单击小部件按钮后始终在后台收听设备的震动。它必须随时监控加速度传感器的任何变化。最后,如果用户摇晃他的设备,我想打开某个应用程序。
我已经实现了小部件部分,单击按钮并运行服务。我还实现了摇晃部分,我可以在摇晃后进行摇晃并做一些事情。我也知道如何在摇动后打开另一个应用程序。我只是不能通过服务做到这一点!所以我的问题是:
- 我是否必须让我的 IntentService 类实现 SensorEventListener?
- 如果是,是否仅此实现足以让它始终监听传感器?那我应该在 onHandleIntent(Intent intent) 中做什么?!
- 如果在常规 Activity 中实现,所有传感器更改都将在 onSensorChanged(SensorEvent sensorEvent) 中进行监听。这是否意味着我必须将所有内容都放入该函数中?onHandleIntent 中什么都没有?
- 我也有这个意图,从我的小部件到我的服务,我不知道该怎么办!我已经使用该意图启动了intentService,但是如果我不使用onHandleIntent,我就无法为我的意图传递setAction,所以这将毫无用处!
我已经审查了这个问题:[ “摇动”应用程序随时响应],但我没有得到服务如何在后台收听的详细信息。
任何人都可以帮忙吗?