发明名称 一种Home应用中直接操控各个播放应用的方法
摘要 本发明公开了一种Home应用中直接操控各个播放应用的方法,属于,本发明要解决如何避免产生ANR和维护广播队列的技术问题。技术方案为:Home应用和各个播放应用实现相同的aidl接口,界面layout在配置Service的时候以meta-data参数的形式保存且各个播放应用保存参数名字要统一,需要显示的数据可以是基本类型或者是实现了Parcel的对象;每种播放应用启动时都需要发送广播并把各自的包名作为附带数据;所有的播放应用中的Service 都需要过滤相同的Action。
申请公布号 CN104461555A 申请公布日期 2015.03.25
申请号 CN201410801272.1 申请日期 2014.12.22
申请人 浪潮软件集团有限公司 发明人 丁志林
分类号 G06F9/44(2006.01)I 主分类号 G06F9/44(2006.01)I
代理机构 济南信达专利事务所有限公司 37100 代理人 姜明
主权项 一种Home应用中直接操控各个播放应用的方法,其特征在于Home应用和各个播放应用实现相同的aidl接口,界面layout在配置Service的时候以meta‑data参数的形式保存且各个播放应用保存参数名字要统一,需要显示的数据可以是基本类型或者是实现了Parcel的对象;每种播放应用启动时都需要发送广播并把各自的包名作为附带数据;所有的播放应用中的Service 都需要过滤相同的Action;具体步骤为:(1)、当Home应用启动完成,通过Action 去查询Package Manager中的Service信息,并把查到符合要求Service和包名以及附带的界面布局ID保存到Map中,以包名为键值;(2)、当播放应用启动时,Home应用监听到播放播放启动的广播,并根据包名取出Map中的Service,并去启动和绑定该Service;(3)、Home应用根据播放应用的包名获取到播放应用的Application Info ,通过Package Manager的get Resources For Application方法获取管理资源的Xml Resource Parser的对象,并通过该对象生成view对象,并把生成的view对象放到Home应用中特定的地方去显示;(4)、通过View获取子view,并给子view重新设置ID,根据原来view的ID按照统一的方法去修改;(5)、在Service中编写register On ClickListener,把界面中需要注册监听事件的view对象的ID,通过Binder的transact传给Home应用;(6)、在Home应用中根据 onTransact中读取到的ID,按照和view重设ID同样的方法去修改ID,并把该view通过Android的set On ClickListener注册监听;(7)、当点击该事件的时候回调Service的on Click方法并将ID按照回复成传过来的ID值并传回去,在远程Service中根据View的ID去响应事件。
地址 250100 山东省济南市高新区孙村镇科航路2877号