改问题单遇到问题:预置了一个apk到2.2的系统中,烧进板子里后在任务管理器中发现了这个预置的apk,但当点击关闭时却无法关闭,每次点击关闭都是先在任务管理器中消失2秒左右然后后又出现了.想问问向这种保持应用程序的进程不被杀死的原理,其机制是什么

解决方案 »

  1.   

    杀不死的都是启动了service的进程~杀完系统会重新oncreate onstart那个service~ 有个可以完全杀进程的方法要系统权限~
      

  2.   

    预制什么类型的apk? 有没有启动service?
      

  3.   

    就是预置了一个QQ.apk,你说的启动service是在apk的代码里写的还是在系统framework某个目录文件中启动的啊?
      

  4.   

    现在的问题是因为这个QQ.apk是被预置到系统中的第三方apk,我在获取到系统root权限后将此QQ.apk卸载,然后又重新使用adb install -r 命令安装,安装完成后此apk就可以在任务管理器中关闭了,还有你说的启动了service,请问这个是在apk的代码里启动的还是在系统代码里启动的啊?
      

  5.   

    apk里启动的service~ 
    设置里关服务的方法是ActivityManager的forceStopPackage方法,是内部的,没提供外部接口,和系统一起编译才能用。
    如果你用killBackgroundProcesses(String packageName)方法杀开启服务的进程,你测试杀自己启动了service的例子,在Service的oncreate、onstart里加打印语句,会看到每次调用killBackgroundProcesses方法后不久会打印那里面的语句。
      

  6.   

    问题解决,是因为apk中添加了persistent属性而导致