一种基于Android的无感连接Service的方法技术

技术编号:40153699 阅读:27 留言:0更新日期:2024-01-26 23:25
本发明专利技术公开了一种基于Android的无感连接Service的方法,引入了动态代理;程序员不再直接持有AIDL代理对象,而是持有动态代理;该动态代理封装了AIDL代理对象和连接器,而且拥有AIDL接口的全部方法。当这些接口方法被调用时,动态代理会先检测与Service的连接是否中断;若未中断就直接调用AIDL代理对象对应的接口方法,若连接中断了,则先用连接器连接Service,连接成功后更新AIDL代理对象,再调用新的AIDL代理对象的接口方法;而这整个过程对程序员来说是无感透明的。从而使得程序员专注于业务开发,从繁琐的Service连接中脱离出来。

【技术实现步骤摘要】

本专利技术涉及基于android的service连接,尤其涉及一种基于android的无感连接service的方法。


技术介绍

1、android操作系统主要用于移动设备,如智能手机和平台电脑等。全世界采用这款系统的设备数量已经达到10亿台。android系统已经成为智能手机领域占有量最高的系统。android应用的开发也随之蓬勃发展。为了节省开发成本,越来越多的软件公司将常用的功能封装成一个sdk应用,以便其它应用通过调用sdk的方式重复利用这些功能。

2、绝大多数的情况下,软件公司会将这些功能封装成service,并提供aidl接口来调用这些功能。所以要使用这些功能就必须先连接上service才行。但是即使连接上了service,service也可能因为自身的异常崩溃或者被android系统杀死,导致连接中断,从而无法继续调用这些功能。

3、常规的解决办法是利用binder的死亡通知机制。客户端连接上服务端的service后注册一个死亡通知,一旦service死亡后,客户端就能收到通知,然后重新连接service,从而激活ser本文档来自技高网...

【技术保护点】

1.一种基于Android的无感连接Service的方法,其特征在于,包括Service助手、连接器、动态代理三个组成部分;

2.根据权利要求1所述的基于Android的无感连接Service的方法,其特征在于,包括如下步骤:

3.根据权利要求2所述的基于Android的无感连接Service的方法,其特征在于,所述动态代理是通过java.lang.reflect包提供的Proxy类和InvocationHandler接口实现的;

4.根据权利要求3所述的基于Android的无感连接Service的方法,其特征在于,AIDL代理对象的创建方式如下:...

【技术特征摘要】

1.一种基于android的无感连接service的方法,其特征在于,包括service助手、连接器、动态代理三个组成部分;

2.根据权利要求1所述的基于android的无感连接service的方法,其特征在于,包括如下步骤:

3.根据权利要求2所述的基于android的无感连接service的方法,其特征在于,所述动态代理是通过java.lang.reflect包提供的proxy类和invocationhandler接口实现的;

4.根据权利要求3所述的基于android的无感连接service的方法,其特征在于,aidl代理对象的创建方式如下:

5.根据权利要求4所述的基于android的无感连接service的方法,其特征在于,所述serviceinvoker中包含bind(ibinder service)方法...

【专利技术属性】
技术研发人员:刘陈硕刘华湘
申请(专利权)人:福建新大陆支付技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1