CN107613104B - 一种用户参与的Android APP流个性化定制方法 - Google Patents
一种用户参与的Android APP流个性化定制方法 Download PDFInfo
- Publication number
- CN107613104B CN107613104B CN201710764484.0A CN201710764484A CN107613104B CN 107613104 B CN107613104 B CN 107613104B CN 201710764484 A CN201710764484 A CN 201710764484A CN 107613104 B CN107613104 B CN 107613104B
- Authority
- CN
- China
- Prior art keywords
- app
- flow
- user
- stream
- apps
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种用户参与的Android APP流个性化定制方法,存储有多条指令,适于在手持设备上实现的多个APP构成的个性化APP流的定制与执行,包括步骤一、安装需进行个性化定制所要选择的APP列表中的所有APP;步骤二、提供APP流定制和APP流管理;步骤三、提供APP流执行。与现有技术相比,本发明用户在执行复杂的业务需求时,可以通过本发明提供的方法及原型定制个性化的Android APP流,从而执行APP时,不需要分别启动各自需要的APP,而能够实现连续的流式执行;用户只需要在提供的APP列表中根据APP的图标和名称进行拖拽选择,并且能够方便地对已经存在的APP流进行管理,简化用户操作。
Description
技术领域
本发明涉及Android应用开发技术领域,特别是涉及一种在Android平台下的APP流(APPs)定制方法。
背景技术
随着移动终端设备计算能力的提高,除了随时随地可以使用移动终端提供的内置功能外,还可以利用众多的移动应用APP访问Internet完成在一些原来PC端的事务,这使得移动终端设备成为随身携带的互联网入口。APP的高速发展使其呈现出明显的碎片化特征,即应用市场中众多APP都只专注于特定功能需求,而用户需求往往需要多个APP所提供的服务。通常一部智能手机中安装了数十或上百个APP,当用户想要使用某个APP时,必须以滑动屏幕的方式在整个APP图标列表中查找该APP。更接近用户真实使用需要的是能够以组合和协作的方式协同执行多个APP的APP流个性化定制功能。
APP流个性化定制是以用户为主导,由用户根据自身的业务需要指定APP之间的集成顺序,在实际使用中,按照预先定制的规则运行APP或获取服务。目前,已有较为成熟的面向移动终端用户提供应用集成服务的工具和产品,其中典型代表有Tasker、IFTTT等。Tasker产品在使用时,由Android系统根据用户定制的“配置文件(Profiles)”,在特定的“背景(Contexts)”下,执行指定“任务(Tasks)”的应用(IEEE,2011:685-690)。IFTTT产品(IF THIS THEN THAT)在使用时,首先由用户创建自己的流程(Recipes),Recipes包括两个网络服务(Channels),前者被称为触发器频道,后者为动作频道,如果触发器频道满足触发条件,那么就会执行动作频道指定的动作(Macuser,2013,4(9):4-9)。然而Tasker产品的任务仅仅涉及改变手机的系统设置以及启动手机中的某个APP,且配置文件的编写类似编程语言,普通用户难以轻松驾驭;IFTTT产品以服务提供商合作参与为前提,故IFTTT的使用受到服务数量、语言地区等限制。
还有其他的已有APP流定制技术方案,或是仅涉及对系统级的APP进行操作,或是用户使用门槛较高,再或是支持范围有限等。因此需要对现有的APP流定制方法进行改进,以更接近用户的真实使用需要。例如以组合和协作的方式协同多个APP,从而满足用户需求。
发明内容
针对以上现有技术存在的缺陷,本发明提出了一种用户参与的AndroidAPP流个性化定制方法,实现了常用APP进行应用流的定制原型,并依据此定制原型按照用户参与的自定义流程进行APP流个性化定制方法。
因此,针对该需求,提供一种用户参与的AndroidAPP流个性化定制方法,以提升用户体验。
本发明的一种用户参与的AndroidAPP流个性化定制方法,存储有多条指令,适于在手持设备上实现的多个APP构成的个性化APP流的定制与执行,该方法包括以下步骤:
步骤一、安装需进行个性化定制所要选择的APP列表中的所有APP;
步骤二、实现APP流定制和APP流管理,其中,APP流定制是由用户根据自身业务需求选择手机内APP列表中合适的APP进行集成实现定制,将APP流存储于本地的SQLite数据库中,采用SharedPreferences方式对定制APP流的首个APP进行存储,其余APP按定制顺序进行执行;APP流管理包括对APP流进行编辑以及对APP流进行删除两种操作;
步骤三、实现APP流执行,初始时,APP流处于等待状态,位于列首的APP的启动事件,是整个APP流的触发事件,被触发的APP流从本地数据库中被激活,切换到执行状态;执行状态中,APP流中的每一个APP按顺序执行,并且完成APP流内数据信息的重用和共享,执行状态持续直到用户退出位于APP流的最末一个APP,在此之后,APP流重新返回等待状态;除非用户主动终止,整个APP流的状态不被外界打扰直到执行结束。
所述步骤二中的APP流满足以下条件:
条件一、APP流中若包含重复的APP,则重复的APP应不相邻;
条件二、与已经存在的APP流不重复,即不能保存完全相同的APP流。
所述步骤三的APP流执行步骤中,还包括实时监控APP流中包含的每一个APP的启动、运行及退出,通过设置Android中的AlarmManager每5秒钟启动一个查询服务,该查询服务利用ActivityManager获取处于可见状态的Activity,也就是用户当前所交互的界面,,判断该Activity来源于哪一个Package,即是属于哪一个APP;若本次查询结果与前一次发生变化,则用户在最近的5秒内进行了启动或退出APP的操作。该查询服务利用ActivityManager获取处于可见状态的Activity,也就是用户当前所交互的界面。
所述步骤三的APP流执行步骤中,还包括利用Android进程间通信Messenger对象来实现不同APP间的消息交互,通过消息总线实现各APP间的消息共享;并采用多线程技术来实现APP间交互内容的相似性计算。
所述步骤三的APP流执行步骤中,还包括若有多条定制APP流共享同一触发事件,根据用户选择执行具体的APP流,;将APP流的当前状态表示为{APP0,APP1,…,APPi-1,APPi},若APP流处于执行状态,则将应用退出消息以广播形式发送出去,广播接收者会对当前APP流中的上一个状态APPi-1内可获取数据进行收集,并对当前APP流中的下一个状态APPi进行数据注入后,再启动APPi。
与现有技术相比,本发明通过对现有技术进行改进,根据用户的使用习惯,提出了用户参与的AndroidAPP流定制方法,提供了预期的有益效果包括:
1、用户在执行复杂的业务需求时,可以通过本发明提供的方法及原型定制个性化的AndroidAPP流,从而执行APP时,不需要分别启动各自需要的APP,而能够实现连续的流式执行。
2、本发明提供的APP流定制方法对用户的专业要求很低,用户只需要在提供的APP列表中根据APP的图标和名称进行拖拽选择,并且能够方便地对已经存在的APP流进行管理,简化用户操作。
附图说明
图1为APP流个性化定制实施例示意图;
图2、3为基于某一旅游场景实现用户参与的AndroidAPP流个性化定制客户端原型示意图;
图4为本发明的一种用户参与的AndroidAPP流个性化定制方法整体流程图。
具体实施方式
下面将结合附图对本发明的具体实施方式作进一步的详细描述。
本发明所提到的用户参与的AndroidAPP流个性化定制中的APP流是已知且不需要通过复杂的计算获得的,将APP流的当前状态表示为{APP0,APP1,…,APPi-1,APPi}。
如图1所示为APP流个性化定制实施例示意图,用户首先选择并连接APP,通过定制流程建立以构成固定的APP流101,APP流101被存储在数据库102中;在定制流程执行阶段,定制好的APP流中的用户输入支持注入操作和提取操作,在APP流开始阶段是等待状态,中间阶段是执行状态,直至执行完成后再次恢复等待状态;触发事件的发生使得APP流从等待状态过渡至执行状态;终止事件的发生使得APP流从执行状态过渡至等待状态。
以上述的实施例为例,具体说明本发明的实现流程,主要包含APP流定制和APP流执行。
第一步、APP流定制,由用户根据自身业务需求选择手机内APP列表中合适的APP进行集成实现定制;在本发明实现的Android客户端中,为普通用户提供了APP流定制界面和APP流管理界面。
在APP流定制界面中,显示可供用户选择的进行混搭的APP的名称和图标,用户可以采用拖拽图标的方式,将选择的APP图标拖至APP流定制区域,并通过图标的先后位置确定APP流的协同执行顺序,在确定好顺序以后提交该APP流。客户端对提交的APP进行检查,合规的APP流应该满足以下条件:
条件一、出于对移动业务复杂度的分析和APP流执行效果的考虑,APP流所包含的APP不超过5个,不少于2个;
条件二、APP流中可以包含重复的APP,但重复的APP应不相邻;
条件三、与已经存在的APP流不重复,即不能保存完全相同的APP流;
APP流存储于本地的SQLite数据库中,并采用Android中的SharedPreferences方式对APP流中位于列首的APP进行存储。列首的APP作为APP流的触发器,其启动将促使后续APP依序启动,即在列首的APP启动时,从数据库中读取完整APP流进行后续APP的执行。
APP流管理界面作为客户端入口,用来显示当前设备中已经存在的APP流,如图2所示。用户可以对已经存在的APP流进行管理,包括编辑和删除。除此之外,用户可以选择该界面上的“Add”按钮,跳转到应用流定制界面进行新的APP流构建。在首次安装客户端时,使用Android的PackageManager获取手机中的所有应用的基本信息,包括应用名称、版本号、包名、图标等,并保存在本地数据库中。
第二步、APP流执行
初始时,APP流处于等待状态。位于列首的APP的启动事件,是整个APP流的触发事件,被触发的APP流从本地数据库中被激活,切换到执行状态。执行状态中,APP流中的每一个APP按顺序执行,并且通过APP交互模块完成流内数据信息的重用和共享,执行状态持续直到用户退出位于APP流的最末一个APP,这是整个APP流的终止事件,在此之后,APP流重新返回等待状态。除非用户主动终止,整个APP流的状态不被外界打扰直到执行结束。
APP流执行的关键问题在于监控APP的启动和退出,本发明采用了后台轮询获取前台界面的方式。首先,通过设置Android中的AlarmManager每5秒钟启动一个查询服务,该查询服务利用ActivityManager获取处于可见状态的Activity,也就是用户当前所交互的界面,之后判断该Activity来源于哪一个Package,即是属于哪一个APP。由于用户连续启动两个APP的间隔基本上不会短于5秒,因而有理由相信,若本次查询结果与前一次发生变化,则用户在最近的5秒内进行了启动或退出APP的操作。可以按照前后两次的具体变化划分启动或退出事件,例如若前一次为系统主界面,后一次为某一第三方APP的界面,则用户在5秒内触发启动事件,反之亦然。
若系统中所有APP流都处于等待状态,则将启动消息以广播形式发送出去,广播接收者判断该应用启动事件是否为某条流的触发事件,若是,则将该APP流的完整信息从数据库中读出,APP流将进入执行状态。若有多条流程共享同一触发事件,则由用户选择执行具体的某条流程。若系统中已有APP流处于执行状态,则将应用退出消息以广播形式发送出去,广播接收者会启动APP交互模块对上一个APP内可获取数据进行收集,并对流程中的下一个APP进行数据注入后启动。
由于在APP流执行时,会涉及到对信息的提取和注入,本发明使用Messenger对象实现Android中的进程间通信,它可以处理Message对象,根据APP流的执行情况对Messenger的消息处理执行不同的操作(提取/注入)。使用Messenger方式进行进程间通信,内部维护了一个Handler消息队列,它可以保证线程安全。并将本发明的Android原型实现作为客户端,而APP作为服务端,达到消息的传递与共享目的,从而使客户端作为“消息总线”完成APP间的数据共享,实现APP流的执行。
如图2、3所示,为基于某一旅游场景实现用户参与的AndroidAPP流个性化定制客户端原型举例。
首先是场景描述:
假设某同学3天后要到北京参加学术论坛,在出发之前,需要做如下准备:
查询并预定3天后“天津--北京”的高铁车票;
查询并预定北京市的某一酒店,入住时间是3天后;
查询并浏览北京市的团购信息,包括推荐餐厅、特色周边等;
查询北京市的天气情况;
将订票信息、酒店预订信息、天气情况等保存到备忘录中。
本场景中,为避免过多的APP影响展示效果,因而基于案例场景,在客户端安装了10个与旅游相关的APP,例如有携程旅行、钱友火车票、去哪儿旅行、同程旅行、百度糯米、美团团购、2345天气王、备忘录和乐记事。携程旅行和铁友火车票负责查询及预订火车票业务,去哪儿旅行和同城旅行提供酒店预订服务,百度糯米和美团团购属于团购业务领域,2345天气王为用户提供天气预报信息,备忘录和乐记事便于用户记录琐碎信息。
图2中(a)为本发明实现的Android客户端启动后的主界面。在该界面中,显示设备中已经存在的自定义集成的APP流。图2(a)中已存在一条APP流,协同加载和执行“携程旅行-铁友火车票-同程旅游-美团团购-乐记事”这五个APP,该APP流以“携程旅行”为触发条件,按照箭头所示方向顺序启动。实现的客户端在此过程中进行后台监控及APP调度,并作为消息中转站实现五个APP之间的数据通信。APP流程协同满足了用户“出行准备”的复杂需求,尽可能地避免了用户搜索应用和重复操作等交互障碍。
选择“添加新流程”选项,跳转到交互式APP流定制界面,如图2中(b)所示。在流程定制过程中,用户首先选择应用图标,之后该应用以虚线框标记。在图3中的(c)的示例中,用户最后选择了“2345天气”,然后在“建立新流程”的区域内选择合适的空白图标位置,即表示将所选择的APP放置在新建流程的相应位置,图3的(c)所示,用户将“2345天气”放置在了新流程的最后一个位置。无论是APP列表中被选中的APP还是已经添加到流程定制中的APP,均以“长按应用图标”的方式取消该项选择。
按照上述构建流程的方式,用户新建一条APP流,图3中(c)所示的该应用流以“铁友”为触发器,依序包含“携程”、“同程”、“美团”和“2345天气王”共5个APP。点击“确定”后,跳转回流程管理主界面,图3中(d)所示,此时流程已经添加到设备中,目前系统中共有两条应用流。
以第一条APP流为例,当用户启动“携程旅行”APP时,APP流被触发,当用户退出携程时,客户端后台以系统弹窗的方式询问用户是否继续按照应用流顺序执行启动“铁友火车票”。若用户选择“Yes”,系统自动启动“铁友火车票”APP,并且通过重用用户在“携程”中输入的目的地等关键信息得到一个注入的界面。若用户选择“No”,系统视为用户主动终止了APP流的执行。对于后续的“同程旅游-美团团购-乐记事”,均以同样的方式与用户交互、注入并启动,直到用户完成信息备份并从“乐记事”中退出。
Claims (5)
1.一种用户参与的Android APP流个性化定制方法,适于在手持设备上实现多个APP构成的个性化APP流的定制与执行,其特征在于,该方法包括以下步骤:
步骤一、安装需进行个性化定制所要选择的APP列表中的所有APP;
步骤二、实现APP流定制,其中,APP流定制是由用户根据自身业务需求选择手机内APP列表中合适的APP进行集成实现定制,将APP流存储于本地的SQLite数据库中,采用SharedPreferences方式对定制APP流的首个APP进行存储,其余APP按定制顺序执行;对APP流的操作包括编辑以及删除两种操作;
步骤三、实现APP流执行,初始时,APP流处于等待状态,位于列首的APP的启动事件,是整个APP流的触发事件,被触发的APP流从本地数据库中被激活,切换到执行状态;执行状态中,APP流中的每一个APP按顺序执行,并且完成APP流内数据信息的重用和共享,执行状态持续直到用户退出位于APP流的最末一个APP,在此之后,APP流重新返回等待状态;除非用户主动终止,整个APP流的状态不被外界打扰直到执行结束。
2.如权利要求1所述的一种用户参与的Android APP流个性化定制方法,其特征在于,所述步骤二中的APP流满足以下条件:
条件一、APP流中若包含重复的APP,则重复的APP应不相邻;
条件二、与已经存在的APP流不重复,即不能保存完全相同的APP流。
3.如权利要求1所述的一种用户参与的Android APP流个性化定制方法,其特征在于,所述步骤三的APP流执行步骤中,还包括实时监控APP流中包含的每一个APP的启动、运行及退出,通过设置Android中的AlarmManager每5秒钟启动一个查询服务,该查询服务利用ActivityManager获取处于可见状态的Activity,也就是用户当前所交互的界面,判断该Activity来源于哪一个Package,即是属于哪一个APP;若本次查询结果与前一次发生变化,则用户在最近的5秒内进行了启动或退出APP的操作。
4.如权利要求1所述的一种用户参与的Android APP流个性化定制方法,其特征在于,所述步骤三的APP流执行步骤中,还包括利用Android进程间通信Messenger对象来实现不同APP间的消息交互,通过消息总线实现各APP间的消息共享;并采用多线程技术来实现APP间交互内容的相似性计算。
5.如权利要求1所述的一种用户参与的Android APP流个性化定制方法,其特征在于,所述步骤三的APP流执行步骤中,还包括若有多条定制APP流共享同一触发事件,根据用户选择执行具体的APP流;将APP流的当前状态表示为{APP0 , APP1 , … , APPi-1, APPi},若APP流处于执行状态,则将应用退出消息以广播形式发送出去,广播接收者会对当前APP流中的上一个状态APPi-1内获取数据进行收集,并对当前APP流中的下一个状态APPi进行数据注入后,再启动APPi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710764484.0A CN107613104B (zh) | 2017-08-30 | 2017-08-30 | 一种用户参与的Android APP流个性化定制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710764484.0A CN107613104B (zh) | 2017-08-30 | 2017-08-30 | 一种用户参与的Android APP流个性化定制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107613104A CN107613104A (zh) | 2018-01-19 |
CN107613104B true CN107613104B (zh) | 2020-04-28 |
Family
ID=61056558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710764484.0A Active CN107613104B (zh) | 2017-08-30 | 2017-08-30 | 一种用户参与的Android APP流个性化定制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107613104B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7006708B2 (ja) * | 2018-01-25 | 2022-01-24 | 京セラドキュメントソリューションズ株式会社 | 情報処理システム、情報処理方法、情報処理装置 |
CN114690986A (zh) * | 2020-12-30 | 2022-07-01 | 荣耀终端有限公司 | 一种快捷方式的创建方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101238437A (zh) * | 2005-08-11 | 2008-08-06 | 皇家飞利浦电子股份有限公司 | 驱动交互系统和用户接口系统的方法 |
US8082291B2 (en) * | 2009-04-27 | 2011-12-20 | International Business Machines Corporation | Identifying relevant data from unstructured feeds |
CN102866911A (zh) * | 2012-09-12 | 2013-01-09 | 北京航空航天大学 | Mashup应用建立方法及装置 |
CN106598395A (zh) * | 2016-12-20 | 2017-04-26 | 北京小米移动软件有限公司 | 任务的执行方法及装置 |
CN106598600A (zh) * | 2016-12-15 | 2017-04-26 | 青岛海信移动通信技术股份有限公司 | 开机向导信息显示方法及终端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140040920A (ko) * | 2012-09-27 | 2014-04-04 | 한국전자통신연구원 | 매쉬업 블록 유저 인터페이스를 이용한 매쉬업 저작 장치 및 그 방법 |
-
2017
- 2017-08-30 CN CN201710764484.0A patent/CN107613104B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101238437A (zh) * | 2005-08-11 | 2008-08-06 | 皇家飞利浦电子股份有限公司 | 驱动交互系统和用户接口系统的方法 |
US8082291B2 (en) * | 2009-04-27 | 2011-12-20 | International Business Machines Corporation | Identifying relevant data from unstructured feeds |
CN102866911A (zh) * | 2012-09-12 | 2013-01-09 | 北京航空航天大学 | Mashup应用建立方法及装置 |
CN106598600A (zh) * | 2016-12-15 | 2017-04-26 | 青岛海信移动通信技术股份有限公司 | 开机向导信息显示方法及终端设备 |
CN106598395A (zh) * | 2016-12-20 | 2017-04-26 | 北京小米移动软件有限公司 | 任务的执行方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107613104A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11099867B2 (en) | Virtual assistant focused user interfaces | |
WO2017092244A1 (zh) | 信息处理方法、客户端和计算机存储介质 | |
TWI683272B (zh) | 資訊獲取方法、提供方法、裝置及系統、儲存介質 | |
CN104487955B (zh) | 提供个性化电子节目指南的方法、计算设备和可读存储介质 | |
US10417567B1 (en) | Learning user preferences in a conversational system | |
JP2019537131A (ja) | 情報を提供するための方法及び装置 | |
CN113010704B (zh) | 一种会议纪要的交互方法、装置、设备及介质 | |
CN109388446A (zh) | 一种信息处理方法、装置及存储介质 | |
KR102249501B1 (ko) | 영상 채팅에 이용 가능한 평판 뱃지를 제공하는 방법, 시스템, 및 컴퓨터 프로그램 | |
CN109313563A (zh) | 一种数据采集方法、装置及系统 | |
CN113010698B (zh) | 多媒体的交互方法、信息交互方法、装置、设备及介质 | |
CN111090533A (zh) | 公告信息发送方法、装置、电子设备及存储介质 | |
WO2018010337A1 (zh) | 显示方法和装置 | |
CN112612391B (zh) | 消息处理方法、装置和电子设备 | |
CN107613104B (zh) | 一种用户参与的Android APP流个性化定制方法 | |
CN110149545B (zh) | 用户信息的处理方法、装置、电子设备及可读存储介质 | |
CN112187624B (zh) | 消息回复方法、装置及电子设备 | |
CN112950294A (zh) | 信息分享方法、装置、电子设备及存储介质 | |
CN113839913A (zh) | 一种互动信息处理方法、相关装置及存储介质 | |
AU2014215888B2 (en) | System and method for providing object via which service is used | |
CN109743248A (zh) | 内容发布方法、装置、终端、服务器及存储介质 | |
CN115965328A (zh) | 一种信息处理方法、装置、设备及介质 | |
CN111290805B (zh) | 一种聚合功能快捷调用方法及系统 | |
CN114491218A (zh) | 信息更新方法、信息更新装置、电子设备及介质 | |
WO2016169105A1 (zh) | 应用菜单处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210719 Address after: 404, Yinxing technology building, No. 1301, sightseeing Road, Xinlan community, Guanlan street, Longhua District, Shenzhen, Guangdong 518000 Patentee after: Shenzhen Fangyuan Tianlun Technology Co.,Ltd. Address before: 300072 Tianjin City, Nankai District Wei Jin Road No. 92 Patentee before: Tianjin University |