最近做项目碰到了这个,貌似也没在意过,随便写写总结一下。

1,远程启动服务。

A应用定义服务如下:

 <serviceandroid:name="com.pro.testignore.MyService"android:enabled="true"android:exported="true"android:process=":remote"><intent-filter><!-- 为Service组件的intent-filter配置action --><action android:name="com.pro.testignore.MyService"></action></intent-filter></service>

B应用调用远程服务代码如下:

 // 5.0以后的隐式调用方式Intent mIntent = new Intent();mIntent.setAction("com.pro.testignore.MyService");mIntent.setPackage("com.pro.testignore");Intent eintent = new Intent(getExplicitIntent(this,mIntent));startService(eintent);
public static Intent getExplicitIntent(Context context, Intent implicitIntent) {// Retrieve all services that can match the given intentPackageManager pm = context.getPackageManager();List<ResolveInfo> resolveInfo = pm.queryIntentServices(implicitIntent, 0);// Make sure only one match was foundif (resolveInfo == null || resolveInfo.size() != 1) {return null;}// Get component info and create ComponentNameResolveInfo serviceInfo = resolveInfo.get(0);String packageName = serviceInfo.serviceInfo.packageName;String className = serviceInfo.serviceInfo.name;ComponentName component = new ComponentName(packageName, className);// Create a new intent. Use the old one for extras and such reuseIntent explicitIntent = new Intent(implicitIntent);// Set the component to be explicitexplicitIntent.setComponent(component);return explicitIntent;}

以下理论为转载内容

====================================================================================

1.远程服务简介

  • 什么是远程服务
    远程服务(Remote Service)也被称之为独立进程,它不受其它进程影响,可以为其它应用程序提供调用的接口——实际上就是进程间通信IPC(Inter-Process Communication),Android提供了AIDL(Android Interface Definition Language,接口描述语言)工具来帮助进程间接口的建立。

在Android中,不同的应用属于不同的进程(Process),一个进程不能访问其它进程的存储(可以通过ContentProvider实现,如:通讯录的读取)。

  • 远程服务的适用场景
    一般适用于为其它应用程序提供公共服务的Service,这种Service即为系统常驻的Service(如:天气服务等)。
  • 远程服务的优缺点
  • 优点
    1.远程服务有自己的独立进程,不会受到其它进程的影响;
    2.可以被其它进程复用,提供公共服务;
    3.具有很高的灵活性。
  • 缺点
    相对普通服务,占用系统资源较多,使用AIDL进行IPC也相对麻烦。

更多进程间通讯查阅AIDL资料吧。

【Android】远程服务(Remote Service)的使用相关推荐

  1. Android中的service

    简介 : 创建一个服务 class TestService extends Service {@Overridepublic void onCreate() {super.onCreate();}@O ...

  2. android如何保证service不被杀死

    Android开发之如何保证Service不被杀掉(broadcast+system/app) http://blog.csdn.net/mad1989/article/details/2249251 ...

  3. Android组件之Service 与常用系统服务用法详解

    一.服务 1.1.后台运行.不可见.没有界面,优先级高于activity,主要用于组件之间交互和执行后台任务.同样在主线程中运行,不能做耗时操作,超过20S会出现ANR. 1.2. 本地服务Local ...

  4. Android中的service全面总结

    文章出处:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html 1.Service的种类 按运行地点分类: 类别 区别  优点 缺点 ...

  5. Android 中的 Service 全面总结

    1.Service的种类   按运行地点分类: 类别 区别 优点 缺点 应用 本地服务(Local) 该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Loc ...

  6. Android 中的 Service 全面总结(转)

    转自:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html# Android 中的 Service 全面总结 1.Service的种 ...

  7. Android服务之Service(其一)

    转载地址:http://www.cnblogs.com/zhangdongzi/archive/2012/01/08/2316711.html android中服务是运行在后台的东西,级别与activ ...

  8. (android实战)Service 生命周期和使用注意项

    一.基础知识 服务一般分为两种: 1:本地服务, Local Service 用于应用程序内部.在Service可以调用Context.startService()启动,调用Context.stopS ...

  9. Android远程服务与本地服务的特点以及功能差异

    最近又重新看了点IPC的相关知识,以前看过不少Binder的知识,看到c++层思路就很模糊了,回头再看也算是一种学习. IPC全称为:interprocess communication内部进程间通信 ...

最新文章

  1. java绘等高线图_Matplotlib中的极坐标等高线图
  2. windows10中 git 本地仓库的使用
  3. java中值传递和引用传递
  4. 解决为什么JDK要带着JRE一起下载
  5. 如何让你的SQL运行得更快(一)
  6. awk---Linux下文本处理五大神器之二
  7. 小米6怎么刷入鸿蒙,小米6成功刷入统信UOS系统 刷机包开放下载
  8. 采用sFlow工具实现流量监控--实验
  9. Win10便签删除了怎么恢复?便签删除了的恢复方法
  10. 【PS功能学习】04:祖传抠图技法
  11. 『Java CVE』CVE-2022-33980: Apache Commons Configuration 读文件RCE
  12. 微型博客网站Twitter打假
  13. 搜狗输入法转语音体验报告
  14. javascript 实现 QQshow
  15. Linux、GUN/Linux、GUN、GPL以及各个发行版本详细介绍-扫盲篇
  16. 国产免费数据仓库ETL调度自动化运维专家—TASKCTL
  17. 学生成绩管理系统 c++版
  18. wps 字体对系统无效_“字体”侵权,你是否也中招?
  19. js object 动态生成key
  20. 13-19年复旦大学计算机学院研究生复试机试题

热门文章

  1. 简易网页游戏——八数码问题游戏
  2. 回飞锅有哪些功能_多功能电热锅有哪些功能 多功能电热锅的特点和使用方法...
  3. 电子电气架构车载网关系列——常见网关芯片特点
  4. 最新计算机科技成果,最新前沿科技成果
  5. 国内开源workflow渐渐发展起来
  6. Cura 3D切片软件如何设置成中文
  7. vue中导出Excel表格
  8. 招聘软件哪个最好用?
  9. 全球及中国放热式气氛发生器行业研究及十四五规划分析报告
  10. scala的无参函数什么时候加括号,什么时候不加括号