摘要:①aidl 是 Android interface definition Language 的英文缩写,意思 Android 接口定义语言。②使用 aidl 可以帮助我们发布以及调用远程服务,实现跨进程通信。③将服务的 aidl 放到对应的 main/aidl目录下,工程的 gen 目录会生成相应的
阅读全文
摘要:Android中的Service是用于后台服务的,当应用程序被挂到后台的时候,问了保证应用某些组件仍然可以工作而引入了Service这个概念,那么这里面要强调的是Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,也就是说,在更多时候不建议在Service中编写耗时的逻辑和
阅读全文
摘要:Service设置成START_STICKY kill 后会被重启(等待5秒左右),重传Intent,保持与重启前一样 提升service优先级 在AndroidManifest.xml文件中对于intent-filter可以通过android:priority = "1000"这个属性设置最高优先
阅读全文
摘要: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....
阅读全文
摘要:1. 阅读Android源代码 2. 手机制造厂商的服务 3. 超级大的公司写远程服务给其他程序员用
阅读全文
摘要:* 本地服务:服务组件在自己的应用程序中 * 远程服务:服务组件不不不在自己的应用程序中
阅读全文
摘要:* 应用场景:既想服务长期运行在后台,又想调用服务里的方法 * 推荐步骤: 1. startService保证服务长期运行在后台 2. bindService绑定服务调方法 3. unBindService解绑服务,只调用onUnBind不在调用onDestroy 4. stopService停止服
阅读全文
摘要:* AIDL:安卓接口定义语言 ,来公开服务的接口的方式来暴露服务接口* IPC:进程间通讯 intel-process communication* AIDL编写步骤: 远程工程 1. 把IRemoteService.java接口改成.aidl的接口 2. 去掉.aidl接口文件的权限修饰符pub
阅读全文
摘要:示例代码 简易的播放器: A. 写一个接口,在接口中写一个要暴露出去的方法 B. 让服务里的内部类实现这个接口 C. 在activity的连接成功后,强转为接口类型 D. 调用接口中的方法,实际上调用的时接口的实现类服务里的内部类里的方法
阅读全文
摘要:activity绑定服务,等待服务被绑定成功后,返回服务里的内部类对象,activity在连接成功后拿到服务里的内部类对象,间接调用服务里的方法 A. 在activity中绑定服务 B. 服务被绑定成功 C. 在服务里创建一个内部类,在onBind方法中返给activity /** * 服务里的内部
阅读全文
摘要:bindService(service, conn, flags); * service :意图 * conn :activity和服务的连接通道 * flags : BIND_AUTO_CREATE 连接的时候如果有服务的对象则复用,如果服务对象不存在,则创建一个服务的对象 * 完整生命周期:on
阅读全文
摘要: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 ...
阅读全文
摘要:* 完整生命周期:onCreate()-->onStartCommand()-->onDestroy() * 开启服务:onCreate()-->onStartCommand() * 停止服务:onDestroy() * 特点: 1. 服务可以被开启多次,每次开启都调用onStartCommand
阅读全文
摘要:Android中的服务Service,和Activity不同的是不能与用户交互的,不能自己启动,系统的后台运行,当程序退出时,我们没有显示的调用停止服务,那么这个Service就没有结束,它仍然在后台运行。Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的操作。 服务一般分为两
阅读全文