文档章节

远程Service的显示 / 隐式启动

o
 osc_mervd488
发布于 2018/04/23 19:12
字数 246
阅读 13
收藏 0

精选30+云产品,助力企业轻松上云!>>>

  在进程间通信时,常会设计开启远程 Service 的情况。开启远程 Service 的方式有两种,一种时显示开启,一种是隐式开启。下面分别来看:

一、隐式开启

  服务端:Service 所在 AndroidManifest.xml 中的配置如下,注意 exported = "true" ,为 true 才可被其他 App 访问,否则就只限于应用内。

<service
       android:name=".BookManagerService"
       android:exported="true">
       <intent-filter>
           <action android:name="com.sl.aidl"/>
           <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
</service>

  客户端:需要开启远程服务

Intent service = new Intent();
service.setAction("com.sl.aidl"); //service 的 action 值
service.setPackage("com.sl.binderservice"); //远程服务所在包名
//绑定服务 bindService(service, mConnection, Context.BIND_AUTO_CREATE);
//启动服务
startService(service);

二、显示开启

  服务端:AndroidManifest.xml

<service android:name=".BookManagerService" android:exported="true"/>

  客户端

public static final String NAME_REMOTE_SERVICE = "com.sl.binderservice.BookManagerService" ;
public static final String PACKAGE_REMOTE_SERVICE = "com.sl.binderservice" ;
//启动服务
Intent startIntent = new Intent ();
ComponentName componentName = new ComponentName(PACKAGE_REMOTE_SERVICE ,NAME_REMOTE_SERVICE);
startIntent .setComponent (componentName );
startService( startIntent) ;
//绑定服务
Intent startIntent = new Intent ();
ComponentName componentName = new ComponentName(PACKAGE_REMOTE_SERVICE ,NAME_REMOTE_SERVICE);
startIntent .setComponent (componentName );
bindService( startIntent, mConnection, Context.BIND_AUTO_CREATE) ;    

  以上就是这两种开启方式。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
四大组件之Service(一)-双子座的Service-Start Service与Bind Service

版权声明:本文为博主原创文章,禁止转载,违者必究。 https://blog.csdn.net/anddlecn/article/details/51645701 第1节 Service介绍 是安卓系统的四大组件之一。如果说是专门为用户“看”的...

anddlecn
2016/06/12
0
0
Android service (一) startService vs bindService

service 简介 service 是Android的4大组件之一, 用于在后台(这里指的是service不提供UI, 用户不可见)执行任务. service 是在UI线程上被创建, 并且在UI线程上运行的, 如果service需要执行耗时...

风荷举
2016/06/06
586
0
Service分析

Service作为android的四大组件之一,其在manifest中的配置、两种启动方式和生命周期相信大家都已熟知,本篇文章的重点不在这里,基本技术点只做简单讲述,本文的重点是介绍一下本地service和...

似水流年0_0
2016/02/02
90
0
Intents and Intent Filters

Intents and Intent Filters 作用: To start an activity: To start a service: To deliver a broadcast: Intent Types (Explicit intents)显式意图 通过组件名称指定要启动的组件(类的全......

ahucsxl
2015/12/02
6
0
面试准备(七)--Service

Service 生命周期 1、通过startService()方式,onCreate()-->onStartCommand()-->onDestroy() 注: 若一个Service被startService()多次启动,那么onCreate()也只会调用一次,即Service实例只......

你的益达233
01/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

浅谈对python pandas中 inplace 参数的理解

这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有,它的作用是:是否...

Linux就该这么学
8分钟前
0
0
C++ 从基本数据类型说起

前言 int 在32位和64位操作系统,都是四个字节长度。为了能编写一个在32位和64位操作系统都能稳定运行的程序,建议采用std::int32_t 或者std::int64_t指定数据类型。*与long随操作系统子长变...

osc_sxdofc9c
8分钟前
9
0
游戏音乐的作用以及起源

游戏音乐是由特殊的音乐、语言符号、美学符号组成,在电子游戏的发展下,游戏音乐越来越成熟,游戏音乐与美术相融合,能够带给玩家视觉与声音的感官冲击,形成游戏音乐所具有的独特的审美效果...

奇亿音乐
8分钟前
6
0
2020,最新Model的设计-APP重构之路

很多的app使用MVC设计模式来将“用户交互”与“数据和逻辑”分开,而model其中一个重要作用就是持久化。下文中设计的Model可能不是一个完美的,扩展性强的model范例,但在我需要重构的app中,...

osc_mfzkzkxi
9分钟前
0
0
面对职业瓶颈,iOS 开发人员应该如何突破?

我们经常看到 iOS 开发人员(各种能力水平都有)的一些问题,咨询有关专业和财务发展方面的建议。 这些问题有一个共同点:前面都会说“我现在遇到了职业困境”,然后会问一些诸如“我是否应该...

osc_gfpedeca
10分钟前
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部