解决方案 »

  1.   

    这应该需要改到底层,就如你说的小米会自动kill掉service
      

  2.   

    好像一些定制手机是把服务给杀掉了。1.开机启动Service 
    2.网络改变时也检测Service是否已经启动
    3.把Service搞成独立进程
      

  3.   

    Service搞成独立进程?这个怎么实现呢,有木有相关资料?
      

  4.   

    Service搞成独立进程?这个怎么实现呢,有木有相关资料?同问,设置独立进程我只知道android:process ,但设置以后我IPC会失效,也就是获得的binder对象里的方法或引用会出错
      

  5.   

    Service搞成独立进程?这个怎么实现呢,有木有相关资料?
    昨天正好看到:http://blog.csdn.net/guolin_blog/article/details/9797169
      

  6.   

    这个从Android开始就在讨论,本来就是矛与盾的关系, 应用想要常驻内存, 系统想要尽量减少后台进程。  上面的那些方式都不用试了,凡是你能想到的,系统都会想到。从Android的设计理念上来看,显示具有最高的优先级,所以forground service的优先级最高,也就是你如果能绑定到通知栏,这样国产rom不管怎么处理也不大敢随便动你。  如果你是后台的,那就不好意思了。另外一个方面就是多注册recevier,不管什么乱七八糟的消息到了,你都来检测启动下service~  做成打不死的小强。  不管怎么说,保证百分百接收消息是不可能的, 连腾讯都做不到,你一小应用就更不要想了。
      

  7.   

    #7楼说的很清楚啦...1.forground service的优先级最高,应用绑定到通知栏.2.通过各种广播,事件,手段。不断循环检测并启动service~ 
      

  8.   

    其实从纯应用角度上考虑,大公司用的技术也差不多,因为android给应用运行的虚拟机环境都是独立的,不太可能通过应用级权限的技术去保全自己,无非是几种无赖做法:多做监听,多做服务,甚至两个服务互相侦测。然后优先级提高,通知栏通知无法取消,并且绑定。甚至部分软件为了他们的应用网络畅通会使用powermanager来点亮屏幕……