Android 心跳连接功能 bindService()无法启动Service的问题

项目中的需要做心跳连接的功能,需Activity中启动Service,该功能从开始到完成,遇到好几个问题,有几点需要注意:

1.在AS中创建aidl文件时,无法找到相应的java文件,后发现需要重新编译,方可生成相应的java文件

2.在Activity中使用bindService()无法启动Service,该点有以下注意:

  a.在配置文件中android:enabled="true"属性,要设置为true,不可以为false,在网上一篇文章中对该属性这样介绍:android:enabled  ----------  如果此项设置为       true,那么 Service 将会默认被系统启动,不设置默认此项为 false;导致我始终无法启动Service,后来直接把Service配置成

<service android:name=".ui.document.BackService"/>,这样,才解决问题,enable属性默认是true,设置成false是无法启动Service的,               startService和bindService都不行。

  b.由于我使用Activity是在TabActivity下面的,因此在启动bindService的时候,要使用

getApplicationContext().bindService(mServiceIntent, conn, BIND_AUTO_CREATE);
   直接在bindService是启动不了Service的,在unbinService的时候,也要用getApplicationContext(),不然在退出的时候会报service未被注册就解除的错误。
3,心跳连接功能,有一篇博客的代码,亲测可正常使用http://blog.csdn.net/zh724738989/article/details/42007099,若不可使用,加上
socket.setSoTimeout(13000);
具体原因尚不清楚,如果有知道的请告诉我一下,自己AS版本的Demo也已上传,可在资源页下载




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值