我正在开发一个运行一系列异步传感器扫描的 Android 应用程序,例如获取附近蓝牙设备的 MAC 地址列表、获取手机的当前位置 (GPS) 并记录周围噪音的音频样本。每当每次扫描完成时,我都想要一个服务来处理将收集到的数据发送到 Web 服务(使用 http 和 REST)。
我面临的问题是我应该实现自己的自定义服务还是使用 IntentServce 来处理多个请求(使用“startService()”发送的意图)来上传数据,因为我希望 100% 确定最终找到的数据被发送到网络服务(如果互联网连接可用)。
如果 Android 决定终止我的 IntnetService 或用户在仍在处理它的请求工作队列时强制终止它,我会丢失待处理请求的队列吗?即我是否需要保存工作队列的状态(因此被迫自己实现服务而不使用 IntentService)?