我是靠谱客的博主 健壮糖豆,最近开发中收集的这篇文章主要介绍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也已上传,可在资源页下载




最后

以上就是健壮糖豆为你收集整理的Android 心跳连接功能 bindService()无法启动Service的问题的全部内容,希望文章能够帮你解决Android 心跳连接功能 bindService()无法启动Service的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部