根据目前了解的情况,服务启动分为2种方式startService()以及bindService()
1、使用startService()后,服务就无法与APP进行数据沟通。
2、使用bindService()后,如果APP退出了服务也跟着退出,但如果是因为按了返回键使APP进入后台而被系统杀了的情况就不妙。
有没有其他方式可以在Service和APP之间可以做到通讯,即使APP在后台被系统杀死服务仍然在运行,只有当APP主动让Service退出才正常退出。
------解决方案--------------------
不行。了解下service的生命周期
------解决方案--------------------
< service android:name =".RemoteService" android:process =":remote" >
< intent-filter >
< action android:name ="com.demo.IMyService" />
</ intent-filter >
</ service >
主要是 android:process =":remote"这个属性,是将service作为一个单独的进程,这样就可以避免app被杀死,service也被杀死。
或者是使用一个广播,接收系统时间变化,判断当前service是否还在运行,如果没有运行,就启动service