为了账号安全,请及时绑定邮箱和手机立即绑定

老师讲的将startService与bindService两者混合使用好像有问题。

protected void onDestroy() {
    super.onDestroy();
    stopService(intent2);
    unbindService(conn);
}

通过调用Activity中的onDestroy()方法stop、unbind服务,当按下back键关闭activity时,也同时调用了服务的onDestroy()方法,服务不可能再在后台运行了(在模拟器的settings——Apps的RUNNING标签下同样也未找到该程序的service)。这样无法实现service与activity的分离呀。

正在回答

1 回答

你的问题是什么??

0 回复 有任何疑惑可以回复我~
#1

qq_Inmylife_1 提问者

就是按照老师这样写,根本实现不了退出程序后服务仍然在后台运行的效果。是不是老师讲的有问题,还是我理解错误
2016-10-19 回复 有任何疑惑可以回复我~
#2

XhstormR 回复 qq_Inmylife_1 提问者

你做的操作就是关闭服务的操作,把 onDestroy 里的方法去掉就可以了。
2016-10-19 回复 有任何疑惑可以回复我~
#3

qq_Inmylife_1 提问者 回复 XhstormR

为了可以将startService与bindService两者混合使用,在“启动服务”按钮的的点击事件中也添加了startService()方法,所以stopService()是一定要有的,只是不应该写在onDestroy()方法中。
2016-10-19 回复 有任何疑惑可以回复我~
#4

XhstormR 回复 qq_Inmylife_1 提问者

你一旦执行了 stopService ,服务就不可能在后台运行了。
2016-10-20 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消
Android攻城狮的第二门课(第3季)
  • 参与学习       74912    人
  • 解答问题       420    个

手势识别、数据存储和4大组件,让你牢牢掌握之前的基础知识点

进入课程

老师讲的将startService与bindService两者混合使用好像有问题。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信