安卓service使用(二)

简介: service使用

前文回顾:service基本使用(一)
本次文章介绍,主要是远程service的使用,先附上代码链接:代码下载
代码结构图:
代码结构
如图。aidl文件夹定义了一个RemoteListener.aidl,一个RemoteIPCBinder.aidl。前者用于作为服务绑定的binder,后者作为监听对象。

注意事项:

(1)对于startService()和stopService()的使用,注意由于实际使用项目的不同,去决定采取隐式or显式的调用。
(2)对于bindService(),注意断开连接时的重连。注意连接成功时的binder对象初始化。核心代码如下:

        findViewById<Button>(R.id.bind_service).setOnClickListener {
            mConnection = object : ServiceConnection {
                override fun onServiceConnected(p0: ComponentName?, p1: IBinder?) {
                    try{
                        mBinder = RemoteIPCBinder.Stub.asInterface(p1)
                        mBinder?.connect("client 1 connect")
                        mBinder?.setOnListener(mListener)
                    }catch (e:Exception){
                        KtLogUtil.d("onServiceConnected error:${e.message}")
                    }
                }

                override fun onServiceDisconnected(p0: ComponentName?) {
                    mBinder?.removeListener(mListener)
                }
            }
            //绑定service
            val serviceIntent = Intent(this, RemoteService::class.java)
            bindService(serviceIntent, mConnection!!, BIND_AUTO_CREATE)
        }

(3)注意aidl中,in,out,input三者的区别以及用法
that's all------------------------------------------------------------------------------------------------------------------------

目录
相关文章
|
6月前
|
Android开发
Android 11 添加Service服务SELinux问题
Android 11 添加Service服务SELinux问题
295 1
|
6月前
|
Android开发
Android基础知识:请解释Service是什么,它与IntentService的区别是什么?
Android基础知识:请解释Service是什么,它与IntentService的区别是什么?
105 0
|
5月前
|
调度 Android开发
43. 【Android教程】服务:Service
43. 【Android教程】服务:Service
51 2
|
6月前
|
Android开发
Android Service Call /dev/xxx SELinux
Android Service Call /dev/xxx SELinux
99 1
|
3月前
|
编解码 网络协议 Android开发
Android平台GB28181设备接入模块实现后台service按需回传摄像头数据到国标平台侧
我们在做Android平台GB28181设备对接模块的时候,遇到这样的技术需求,开发者希望能以后台服务的形式运行程序,国标平台侧没有视频回传请求的时候,仅保持信令链接,有发起视频回传请求或语音广播时,打开摄像头,并实时回传音视频数据或接收处理国标平台侧发过来的语音广播数据。
|
6月前
|
存储 监控 Java
Android Service之设备存储空间监控 DeviceStorageMonitorService
Android Service之设备存储空间监控 DeviceStorageMonitorService
119 2
|
6月前
|
Android开发 数据库管理
Android如何在Activity和Service之间传递数据
Android如何在Activity和Service之间传递数据
263 3
|
6月前
|
Android开发
Android Service的两种使用方法
Android Service的两种使用方法
47 2
|
6月前
|
数据可视化 Android开发
[Android 四大组件] --- Service
[Android 四大组件] --- Service
46 0
|
6月前
|
Android开发 Kotlin
android开发,使用kotlin学习Service
android开发,使用kotlin学习Service
148 1