随笔分类 -  210.Android之Service

什么是 AIDL 以及如何使用
摘要:①aidl 是 Android interface definition Language 的英文缩写,意思 Android 接口定义语言。②使用 aidl 可以帮助我们发布以及调用远程服务,实现跨进程通信。③将服务的 aidl 放到对应的 main/aidl目录下,工程的 gen 目录会生成相应的 阅读全文

posted @ 2017-03-03 08:56 LoaderMan 阅读(766) 评论(0) 推荐(0)

Android中IntentService与Service
摘要:Android中的Service是用于后台服务的,当应用程序被挂到后台的时候,问了保证应用某些组件仍然可以工作而引入了Service这个概念,那么这里面要强调的是Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,也就是说,在更多时候不建议在Service中编写耗时的逻辑和 阅读全文

posted @ 2017-02-28 10:39 LoaderMan 阅读(486) 评论(0) 推荐(0)

能否保证service不被杀死?
摘要:Service设置成START_STICKY kill 后会被重启(等待5秒左右),重传Intent,保持与重启前一样 提升service优先级 在AndroidManifest.xml文件中对于intent-filter可以通过android:priority = "1000"这个属性设置最高优先 阅读全文

posted @ 2017-02-27 14:06 LoaderMan 阅读(245) 评论(0) 推荐(0)

监听电话录音
摘要:package com.example.calling; import java.io.IOException; import android.app.Service; import android.content.Context; import android.content.Intent; import android.media.MediaRecorder; import android.... 阅读全文

posted @ 2017-02-20 19:05 LoaderMan 阅读(374) 评论(0) 推荐(0)

远程服务的使用场景
摘要:1. 阅读Android源代码 2. 手机制造厂商的服务 3. 超级大的公司写远程服务给其他程序员用 阅读全文

posted @ 2017-02-20 18:49 LoaderMan 阅读(229) 评论(0) 推荐(0)

本地服务和远程服务
摘要:* 本地服务:服务组件在自己的应用程序中 * 远程服务:服务组件不不不在自己的应用程序中 阅读全文

posted @ 2017-02-20 18:48 LoaderMan 阅读(500) 评论(0) 推荐(0)

混合方式开启服务
摘要:* 应用场景:既想服务长期运行在后台,又想调用服务里的方法 * 推荐步骤: 1. startService保证服务长期运行在后台 2. bindService绑定服务调方法 3. unBindService解绑服务,只调用onUnBind不在调用onDestroy 4. stopService停止服 阅读全文

posted @ 2017-02-19 17:02 LoaderMan 阅读(176) 评论(0) 推荐(0)

本地应用调用远程服务中的方法
摘要:* AIDL:安卓接口定义语言 ,来公开服务的接口的方式来暴露服务接口* IPC:进程间通讯 intel-process communication* AIDL编写步骤: 远程工程 1. 把IRemoteService.java接口改成.aidl的接口 2. 去掉.aidl接口文件的权限修饰符pub 阅读全文

posted @ 2017-02-19 17:02 LoaderMan 阅读(441) 评论(0) 推荐(0)

绑定服务抽取接口
摘要:示例代码 简易的播放器: A. 写一个接口,在接口中写一个要暴露出去的方法 B. 让服务里的内部类实现这个接口 C. 在activity的连接成功后,强转为接口类型 D. 调用接口中的方法,实际上调用的时接口的实现类服务里的内部类里的方法 阅读全文

posted @ 2017-02-19 17:01 LoaderMan 阅读(344) 评论(0) 推荐(0)

绑定服务调用服务里的方法
摘要:activity绑定服务,等待服务被绑定成功后,返回服务里的内部类对象,activity在连接成功后拿到服务里的内部类对象,间接调用服务里的方法 A. 在activity中绑定服务 B. 服务被绑定成功 C. 在服务里创建一个内部类,在onBind方法中返给activity /** * 服务里的内部 阅读全文

posted @ 2017-02-19 16:51 LoaderMan 阅读(333) 评论(0) 推荐(0)

bind绑定服务的生命周期
摘要:bindService(service, conn, flags); * service :意图 * conn :activity和服务的连接通道 * flags : BIND_AUTO_CREATE 连接的时候如果有服务的对象则复用,如果服务对象不存在,则创建一个服务的对象 * 完整生命周期:on 阅读全文

posted @ 2017-02-19 16:43 LoaderMan 阅读(775) 评论(0) 推荐(0)

监听电话状态的模板代码
摘要:package com.example.calling; import android.app.Service; import android.content.Context; import android.content.Intent; import android.os.IBinder; import android.telephony.PhoneStateListener; import ... 阅读全文

posted @ 2017-02-19 16:35 LoaderMan 阅读(446) 评论(0) 推荐(0)

start开启服务的生命周期
摘要:* 完整生命周期:onCreate()-->onStartCommand()-->onDestroy() * 开启服务:onCreate()-->onStartCommand() * 停止服务:onDestroy() * 特点: 1. 服务可以被开启多次,每次开启都调用onStartCommand 阅读全文

posted @ 2017-02-19 16:32 LoaderMan 阅读(250) 评论(0) 推荐(0)

服务概述
摘要:Android中的服务Service,和Activity不同的是不能与用户交互的,不能自己启动,系统的后台运行,当程序退出时,我们没有显示的调用停止服务,那么这个Service就没有结束,它仍然在后台运行。Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的操作。 服务一般分为两 阅读全文

posted @ 2017-02-19 16:28 LoaderMan 阅读(219) 评论(0) 推荐(0)

导航