zoukankan      html  css  js  c++  java
  • android服务的bindService/startService

    1,高版本android已经不允许只通过action来bindService/startService,可以通过:

    intent.setPackage("XXXX");

    来指定服务的applicationID,注意这里并不是包名。所以,即是在两个应用中都存在同样包名、同样action的服务,也不会出现不知道绑定/启动哪一个服务的情况

    测试代码:

    https://github.com/zackLangChina/android

    2,AOSP android8.0和9.0中测试可以通过bindService/startService把服务进程拉起来。但是在搭载android9.0的三星S8+真机测试中发现,无法通过bindService/startService把服务进程拉起来,只有在服务进程已经存在的情况下,才能通过bindService获取到服务端的binder proxy。怀疑是三星对此作了限制,避免一个应用启动后拉起一堆其他服务的情况(流氓软件常见做法)

    3,在已bindService的情况下,kill掉服务进程,服务进程会自动重新启动,再次被bind上,跑进onServiceConnected。

    4,bindService后unbindService,服务端会跑进onUnbind和onDestroy,但服务进程并没有被销毁

  • 相关阅读:
    scala 获取当前时间的两种方式
    log4j配置输出日志文件
    scala读取jar包外配置文件的方式
    scala 异常处理机制
    IDEA 安装scala插件
    第2部分 Elasticsearch查询-请求体查询、排序
    第1部分 Elasticsearch基础
    2.css
    1.html
    Linux搭建Nexus仓库+高可用方案
  • 原文地址:https://www.cnblogs.com/wolflzc/p/10996890.html
Copyright © 2011-2022 走看看