第一篇、Android学习之AIDL学习:跨应用启动服务Serivce
来源:互联网 发布:c语言读取字符串 编辑:程序博客网 时间:2024/06/06 07:38
第一篇、Android学习之AIDL学习:
跨应用启动服务Serivce
- 第一篇Android学习之AIDL学习
- 跨应用启动服务Serivce
- 一跨应用启动服务Service前言
- 二实现
- 三总结
- 跨应用启动服务Serivce
一、跨应用启动服务Service:前言
在之前的学习中,我们了解到,当一个应用中的Activity 想要启动另个应用中的Activity可以通过隐式Intent的方式,通过
给Activity配置一个Action实现该功能。那么我们是否可以给Service配置个action来启动service呢。在Android5.0之前
是可以的,但是,在android5.0之后就不可以了。我们只能通过显式Intent启动服务。但是,我们又无法获取另一个应用的类
的定义。所以,我们需要采用另一种方式实现对另一个应用服务的调用。
二、实现
首先,需要有一个包含自定义服务的应用和一个普通应用。这里以app1和app2为例。其中内部构造如下:
app1:MainActivity、MyService、
- MyService.java
public class MyService extends android.app.Service{ public IBinder onBind(Intent intent){ return new Bind(); } public void onCreate(){ System.out.println("MyService is Start"); }}
这个例子主要是实现通过app2调用app1的MyService
而关键的方法主要是,调用Intent的setComponent(ComponentName name)
方法。从而实现调用其他应用服务的功能。
app2:MainActivity.java
public class MainActivity extends Activity{ private Intent serviceIntent; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); serviceIntent = new Intent(); /** *这里的ComponentName(String packageName,String className); * 参数的含义依次为:服务的包名,服务的类名。 */ serviceIntent.setComponent(new ComponentName("com.snowlive.service14","com.snowlive.service14.SendInfoService")); //启动服务 startService(serviceIntent); } protected void onDestroy() { super.onDestroy(); //停止服务 stopService(serviceIntent); }}
通过在Activity的onCreate方法设置serviceIntent,并调用startService(serviceIntent)
方法启动服务
在Activity的onDestroy方法调用stopService(serviceIntent)
方法停止服务。
三、总结:
再次回顾,启动其他应用的服务的方法,关键步骤就是两步:
- 为Intent设置Component
- 调用startService方法启动服务。
0 0
- 第一篇、Android学习之AIDL学习:跨应用启动服务Serivce
- android服务学习service之AIDL
- Android AIDL服务学习笔记
- Android AIDL服务学习笔记
- android 学习笔记9-服务 启动停止 调用服务方法 远程服务 AIDL进程通信
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- Android Service学习之AIDL, Parcelable和远程服务
- windows7 64位 配置 python2.7 开发环境
- 关于typedef用法总结【待补充】
- Android TV书签
- canvas合成
- staticmethod,classmethod
- 第一篇、Android学习之AIDL学习:跨应用启动服务Serivce
- JavaScript Ajax和jQuery Ajax
- BZOJ 1297 1297: [SCOI2009]迷路 拆点,矩阵快速幂
- PowerDesigner导出SQL添加视图的方法
- PCI 总线 协议 基础 详解
- JavaWeb日记——Shiro之角色和权限
- CCF NOI1036 进制转换
- xListView--MylistViewDemo--1
- MAC系统下Eclipse常用快捷键(附Terminal光标相关快捷键)