我说下我认为比较合理的逻辑吧:
应该放在退出程序前最后一个activity...比如最常用的homeActivity之类的.
退出时应该弹个框,询问退出什么的.用户确认推出以后,发送你需要的服务.然后调用finish.
至于你想app被系统kill掉的时候,还能发服务.这个真做不到.被系统kill本来就是有点"身不由己"的状态了,只能做很少量的保存现场的操作.建议还是随他去吧..上报数据这种,完全可以保存在文件里面,每次推出时取出来发送嘛.这次被系统kill了也没关系,无非就是下次多发送一点而已.