services中一个线程接受消息,当为某些固定的消息时,新开了一个线程启动一个activity(控制手机的息屏,亮屏)。但启动那个activity后services就被杀死了。
service启动有两种方式,startService:服务被启动之后,跟启动它的组件没有一毛钱关系;bindService:跟启动它的组件同生共死
你看一下你这个service是怎么启动的,是不是绑定activity了,那个绑定的activity结束了service也就结束
如果是手机的话,一般有自动杀死进程的功能
首先看看你的Service是哪种方式启动的,一般都是startService模式启动的,不会和任何Activity绑定(也可以绑定);不过接受数据的Service一般都是后台的Service;在后台Service不被杀死的话,有几种常用的方式:1.可以在onStartCommand中返回START_STICKY,这样系统有足够多资源的时候,就会重新开启service,另外调用startForeground方法,就是起一个前台的通知栏,这样更有效的不被系统杀死(官方推荐)。2.提高优先级和将服务开启一个新的进程
android:name="com.***.***Service"
android:priority="1000"
android:process=":****"Service >
3.起两个服务互相监听,双向互相拉起
具体方法百度,这只提供思路。。。。