一种投屏方法、终端和通信系统与流程

文档序号:28616271发布日期:2022-01-22 12:57阅读:123来源:国知局
一种投屏方法、终端和通信系统与流程

1.本技术涉及终端及通信技术领域,尤其涉及一种投屏方法、终端和通信系统。


背景技术:

2.日常工作和生活中,屏幕较小的手机与屏幕较大的电视之间可以使用投屏技术,将手机屏幕中的内容投屏到电视的屏幕上,这样,可以更好的进行文档展示、图片共享或视频播放等。
3.当手机向电视发起投屏时,如果想投屏成功,则需要添加对方设备成为本机的可信设备,即手机添加电视成为该手机的可信设备,且,电视添加手机成为该电视的可信设备,这样手机在发起设备认证时,电视才可以确定手机是可信设备,才能进行投屏。
4.通常来说,手机添加电视成为可信设备之后,即会发起设备认证。
5.但是,由于电视的软件系统、硬件系统等资源比手机来说相对较差,资源的不对等,导致在手机已经添加电视成为可信设备,并发起设备认证之后,电视还没有成功添加手机成为可信设备,导致在手机发起设备认证之后,电视认为手机不可信,使得投屏失败。
6.投屏时,由于电视添加可信设备比手机添加可信设备慢而导致投屏失败的问题,是亟需解决的。


技术实现要素:

7.本技术提供了一种投屏方法、终端和通信系统,在第一终端向第二终端发起投屏时,可以解决因为第二终端比第一终端添加可信设备慢而导致投屏失败的问题。
8.第一方面,本技术提供了一种投屏方法,所述方法包括:第一终端向第二终端发起投屏连接;在所述第一终端向所述第二终端发送添加所述第一终端为可信设备的请求后,所述第一终端将所述第二终端添加为可信设备;在所述第一终端接收到所述第二终端发送的第一添加成功通知,且所述第一终端确定添加所述第二终端为可信设备完成的情况下,所述第一终端向所述第二终端发送对所述第一终端进行设备认证的认证通知,所述认证通知用于使得所述第二终端在确定所述第一终端为可信设备时与所述第一终端协商第一密钥;所述第一密钥为投屏时涉及的会话密钥;在所述第一终端与所述第二终端完成协商所述第一密钥时,则所述第一终端确定设备认证通过,所述第一终端将第一用户界面中的数据发送至所述第二终端,使得所述数据在所述第二终端的第二用户界面中被显示,所述第二用户界面为所述第一终端显示的一个用户界面。
9.在上述实施例中,第一终端可以为手机,第二终端可以为电视,在第一终端向第二终端发起投屏请求时,第一终端与第二终端不可信时就会添加对端设备为可信设备,才能投屏,第二终端添加第一终端成为可信设备之后,会告知第一终端添加可信设备完成,使得第一终端可以发起设备认证,这样,第一终端发起设备认证时,第二终端是添加了第一终端为可信设备的,不会由于第二终端添加可信设备的速度比第一终端慢,导致第二终端在接收到设备认证时,查询不到第一终端,则认为第一终端不是可信设备,导致投屏失败,这样,
增加了投屏成功的概率。
10.结合第一方面,在一种实施方式中,在所述第一终端向所述第二终端发送添加所述第一终端为可信设备的请求后,所述第一终端将所述第二终端添加为可信设备,具体包括:在所述第一终端向所述第二终端发送加入设备群组的请求后,所述第一终端将所述第二终端添加到第一设备群组信息中;所述请求中包括所述设备群组的设备群组id,所述请求用于请求所述第二终端生成第二设备群组信息,将所述第一终端添加到所述第二设备群组信息中;所述第一设备群组信息和所述第二设备群组信息中包括所述设备群组id;所述第一设备群组信息中包括不通过连接码即可与所述第一终端进行投屏连接的设备,所述连接码用于所述第一终端与所述第一设备群组信息中不包括的设备建立投屏连接时协商会话密钥。
11.在上述实施例中,第一终端与第二终端成为对端设备的可信设备的一种可能的方式为:第一终端建立一个设备群组,生成第一设备群组信息,并请求该第二终端加入该设备群组,生成该第二设备群组信息,其中,第一设备群组信息以及第二设备群组信息分别是设备群组在第一终端与第二终端中与该设备群组对应的设备群组信息。第一终端生成设备群组信息表示创建了该设备群组,其他终端,例如第二终端生成设备群组信息表示加入了该设备群组。第一终端将第二终端添加到第一设备群组信息中,即时将其添加为可信设备,同理,第二终端将第一终端添加到第二设备群组信息中,即时将其添加为可信设备。通过这样建立设备群组的方式添加对端设备成为可信设备,可以建立长期的可信关系,只要设备群组信息中有对端的信息即可认为是可信设备,不需要再通过连接码即可成为进行投屏。
12.结合第一方面,在一种实施方式中,所述认证通知具体用于使得所述第二终端在确定所述第二设备群组信息中包括所述第一终端时与所述第一终端协商第一密钥;所述第一密钥为投屏时涉及的会话密钥。
13.结合第一方面,在一种实施方式中,在所述第一终端接收到所述第二终端发送的第一添加成功通知,且所述第一终端确定添加所述第二终端为可信设备完成的情况下,所述第一终端向所述第二终端发送对所述第一终端进行设备认证的认证通知,具体包括:所述第一终端接收到所述第二终端发送的第一添加成功通知后,所述第一终端确定添加所述第二终端至第一设备群组信息完成;所述第一终端确定添加所述第二终端至第一设备群组完成后,向所述第二终端发送所述认证通知。
14.在上述实施例中,第二终端将第一终端添加至第二设备群组信息中之后,就可以发送该第一添加成功通知,以使得第一终端确定第二终端完成了可信设备的添加,这时,第一终端也可以确定添加第二终端至第一设备群组信息完成,然后发送设备认证通知。
15.结合第一方面,在一种实施方式中,在所述第一终端向所述第二终端发送加入设备群组的请求,具体包括:所述第一终端创建设备群组;所述第一终端向所述第二终端发送加入至所述设备群组的请求,所述请求中包括所述第一终端的设备id以及所述设备群组的设备群组id,所述请求使得所述第二终端在确定所述第一终端的设备身份凭证之后,生成所述第二设备群组信息,并添加所述第一终端至所述第二设备群组信息。
16.在上述实施例中,在一种情况下,该第一终端与第二终端加入的设备群组是第一终端创建的,然后请求该第二终端加入的。
17.结合第一方面,在一种实施方式中,所述方法还包括:所述第一终端在预设时间内
没有接收到所述第二终端发送的第一添加成功通知,则所述第一终端确定添加所述第二终端至第一设备群组信息完成。
18.在上述实施例中,如果在预设时间里第一终端没有确定第二终端完成了可信设备的添加,这时,第一终端也可以确定添加第二终端至第一设备群组信息完成,然后发送设备认证通知。这样,在预设时间内以及发起设备认证的时间里,第二终端仍然有概率完成添加第一设备为可信设备,使得投屏成功,同时,不会使得第一终端等待时间过长。
19.结合第一方面,在一种实施方式中,第一终端向第二终端发起投屏连接之后,在所述第一终端向所述第二终端发送加入设备群组的请求之前,所述方法还包括:所述第一终端获取所述连接码,所述连接码与所述第二终端中显示的连接码相同;所述连接码用于所述第一终端与所述第二终端建立连接时协商第一密钥。
20.在上述实施例中,在第一终端与第二终端不可信的情况下,第二终端可以显示一个连接码,第一终端获取该连接码之后即可以与第二终端协商第一密钥了。
21.结合第一方面,在一种实施方式中,所述第一终端获取连接码之后,所述第一终端确定添加所述第二终端为可信设备完成之前,所述方法还包括:所述第一终端基于所述连接码与所述第二终端协商第二密钥;所述第一终端利用所述第二密钥与所述第二终端交换设备身份凭证;所述第一终端确定所述第二终端的设备身份凭证之后,所述第一终端添加所述第二终端至所述第一设备群组信息中。
22.在上述实施例中,在添加对方为可信设备之前,需要交换身份凭证,保证了投屏传输的可靠性和安全性。
23.结合第一方面,在一种实施方式中,所述第一终端添加所述第二终端至第一设备群组信息中,具体包括:所述第一终端将所述第二终端的信息添加至所述第一设备群组信息中的设备群组id对应的第一可信设备列表中,所述第二终端的信息包括所述第二终端的设备id。
24.在上述实施例中,可以第一终端可以建立第一可信设备列表用于管理第一终端的可信设备,如果第一终端在该第一可信设备列表中查询到了第二终端,则可以认识为第二终端为可信设备。
25.结合第一方面,在一种实施方式中,在所述第一终端确定设备认证通过的情况下,所述第一终端将第一用户界面中的数据发送至所述第二终端之前,所述方法还包括:所述第一终端基于所述设备身份凭证与所述第二终端协商所述第一密钥,所述第一密钥用于在所述第一终端与所述第二终端进行投屏时,对所述数据加密。
26.在上述实施例中,所述第一终端与第二终端进行投屏时,传输数据,需要进行加密,保证了投屏时的安全性和可靠性。
27.结合第一方面,在一种实施方式中,所述第一终端确定添加所述第二终端为可信设备完成之后,所述方法还包括:所述第一终端向所述第二终端发送第二添加成功通知,所述第二添加成功通知用于通知所述第二终端所述第一终端完成添加第二终端成为可信设备。
28.在上述实施例中,第一终端在添加第二终端成为可信设备之后,也可以通知第二终端添加成功。
29.结合第一方面,在一种实施方式中,第一终端向第二终端发起投屏连接之前,所述
方法还包括:所述第一终端检测到投屏操作之后,所述第一终端显示可用设备,所述可用设备中包括所述第二终端;所述第一终端检测到选择与所述第二终端进行投屏的操作。
30.第二方面,本技术提供了一种投屏方法,所述方法包括:第二终端接收到第一终端发送的投屏请求;所述第二终端接收到添加所述第一终端为可信设备的请求后,所述第二终端添加所述第一终端为可信设备;所述第二终端确定将所述第一终端添加为可信设备完成,向所述第一终端发送第一添加成功通知后,所述第二终端接收到对所述第一终端进行设备认证的认证通知;所述第二终端在接收到所述认证通知之后,确定所述第一终端为可信设备,且,与所述第一终端协商第一密钥;所述第一密钥为投屏时涉及的会话密钥;在所述第二终端与所述第一终端完成协商所述第一密钥时,则所述第二终端确定设备认证通过;在所述第二终端确定设备认证通过的情况下,所述第二终端接收所述第一终端发送的数据,所述数据显示在所述第二终端与所述第一终端的用户界面。
31.在上述实施例中,第二终端可以为电视,第一终端可以为手机。第二终端接收到第一终端发起的投屏请求时,第一终端与第二终端不可信时就会添加对端设备为可信设备,才能投屏,第二终端添加第一终端成为可信设备之后,会告知第一终端添加可信设备完成,使得第一终端可以发起设备认证,这样,第一终端发起设备认证时,第二终端是添加了第一终端为可信设备的,不会由于第二终端添加可信设备的速度比第一终端慢,导致第二终端在接收到设备认证时,查询不到第一终端,则认为第一终端不是可信设备,导致投屏失败,这样,增加了投屏成功的概率。
32.结合第二方面,在一种实施方式中,所述第二终端接收到添加所述第一终端为可信设备的请求后,所述第二终端添加所述第一终端为可信设备,具体包括:所述第二终端接收到所述第一终端发送的加入设备群组的请求后,所述第二终端生成第二设备群组信息;所述第二终端将所述第一终端添加到所述第二设备群组信息中;所述请求中包括所述设备群组的设备群组id;所述第二设备群组信息中包括所述设备群组id。
33.在上述实施例中,第一终端与第二终端成为对端设备的可信设备的一种可能的方式为:第一终端建立一个设备群组,生成第一设备群组信息,并请求该第二终端加入该设备群组,生成该第二设备群组信息,其中,第一设备群组信息以及第二设备群组信息分别是设备群组在第一终端与第二终端中与该设备群组对应的设备群组信息。第一终端生成设备群组信息表示创建了该设备群组,其他终端,例如第二终端生成设备群组信息表示加入了该设备群组。第一终端将第二终端添加到第一设备群组信息中,即时将其添加为可信设备,同理,第二终端将第一终端添加到第二设备群组信息中,即时将其添加为可信设备。通过这样建立设备群组的方式添加对端设备成为可信设备,可以建立长期的可信关系,只要设备群组信息中有对端的信息即可认为是可信设备,不需要再通过连接码即可成为进行投屏。
34.结合第二方面,在一种实施方式中,所述第二终端在接收到所述认证通知之后,确定所述第一终端为可信设备,具体包括:所述第二终端在接收到所述认证通知之后,确定所述第二设备群组信息中包括所述第一终端。
35.结合第二方面,在一种实施方式中,第二终端接收到第一终端发送的投屏请求之后,所述第二终端接收到所述第一终端发送的加入设备群组的请求之前,所述方法还包括:所述第二终端显示所述连接码,所述连接码用于所述第二终端与所述第以终端建立连接时协商所述第一密钥。
36.在上述实施例中,在第一终端与第二终端不可信的情况下,第二终端可以显示一个连接码,第一终端获取该连接码之后即可以与第二终端协商第一密钥了。
37.结合第二方面,在一种实施方式中,所述第二终端将所述第一终端添加到所述第二设备群组信息中,具体包括:所述第二终端将所述第一终端的信息添加至所述第二设备群组信息中的设备群组id对应的第二可信设备列表中,所述第二终端的信息包括所述第二终端的设备id。
38.第三方面,本技术实施例提供了一种投屏方法,适用于通信系统,所述通信系统中包括第一终端与第二终端,其特征在于,所述方法包括:所述第一终端向所述第二终端发起投屏连接;在所述第一终端向所述第二终端发送加入设备群组的请求后,所述第一终端将所述第二终端添加到第一设备群组信息中;所述第一设备群组信息中包括所述设备群组id,所述请求中包括所述设备群组的设备群组id;响应于所述请求,所述第二终端生成第二设备群组信息;所述第二设备群组信息中包括所述设备群组id;所述第二终端将所述第一终端添加到所述第二设备群组信息中;所述第二终端确定将所述第一终端添加到所述第二设备群组信息完成,向所述第一终端发送第一添加成功通知;响应于所述第一添加成功通知,所述第一终端确定添加所述第二终端到第一设备群组信息完成;在所述第一终端确定添加所述第二终端到第一设备群组信息完成的情况下,向所述第二终端发送对所述第一终端进行设备认证的认证通知;响应于所述认证通知,所述第二终端确定所述第二设备群组信息中包括所述第一终端之后,所述第二终端与所述第一终端协商第一密钥;所述第一密钥为投屏时涉及的会话密钥;在所述第一终端与所述第二终端完成协商所述第一密钥时,则所述第一终端确定设备认证通过,所述第一终端将第一用户界面中的数据发送至所述第二终端;所述第二终端显示所述数据。
39.在上述实施例中,第一终端可以为手机,第二终端可以为电视,在第一终端向第二终端发起投屏请求时,第一终端与第二终端不可信时就会添加对端设备为可信设备,才能投屏,第二终端添加第一终端成为可信设备之后,会告知第一终端添加可信设备完成,使得第一终端可以发起设备认证,这样,第一终端发起设备认证时,第二终端是添加了第一终端为可信设备的,不会由于第二终端添加可信设备的速度比第一终端慢,导致第二终端在接收到设备认证时,查询不到第一终端,则认为第一终端不是可信设备,导致投屏失败,这样,增加了投屏成功的概率。
40.第四方面,本技术实施例提供了一种通信系统,所述通信系统中包括第一终端与第二终端,其中:所述第一终端用于向所述第二终端发起投屏连接;所述第一终端还用于向所述第二终端发送加入设备群组的请求后,将所述第二终端添加到第一设备群组信息中;所述第二终端用于生成第二设备群组信息;所述第二终端还用于将所述第一终端添加到所述第二设备群组信息中;所述第二终端还用于确定将所述第一终端添加到所述第二设备群组信息完成,向所述第一终端发送第一添加成功通知;所述第一终端还用于确定添加所述第二终端到第一设备群组信息完成;第一终端还用于在确定添加所述第二终端到第一设备群组信息完成的情况下,向所述第二终端发送对所述第一终端进行设备认证的认证通知;所述第二终端还用于确定所述第二设备群组信息中包括所述第一终端之后,所述第二终端与所述第一终端协商第一密钥;所述第一密钥为投屏时涉及的会话密钥;所述第一终端还用于在所述第一终端与所述第二终端完成协商所述第一密钥时,则所述第一终端确定设备
认证通过,所述第一终端将第一用户界面中的数据发送至所述第二终端;所述第二终端还用于显示所述数据。
41.在上述实施例中,第一终端可以为手机,第二终端可以为电视,在第一终端向第二终端发起投屏请求时,第一终端与第二终端不可信时就会添加对端设备为可信设备,才能投屏,第二终端添加第一终端成为可信设备之后,会告知第一终端添加可信设备完成,使得第一终端可以发起设备认证,这样,第一终端发起设备认证时,第二终端是添加了第一终端为可信设备的,不会由于第二终端添加可信设备的速度比第一终端慢,导致第二终端在接收到设备认证时,查询不到第一终端,则认为第一终端不是可信设备,导致投屏失败,这样,增加了投屏成功的概率。
42.第五方面,本技术实施例提供了一种第一终端,所述第一终端包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述一个或多个处理器用于调用所述计算机指令以使得所述第一终端执行如第一方面所述的方法。
43.在上述实施例中,第一终端可以为手机,第二终端可以为电视,在第一终端向第二终端发起投屏请求时,第一终端与第二终端不可信时就会添加对端设备为可信设备,才能投屏,第二终端添加第一终端成为可信设备之后,会告知第一终端添加可信设备完成,使得第一终端可以发起设备认证,这样,第一终端发起设备认证时,第二终端是添加了第一终端为可信设备的,不会由于第二终端添加可信设备的速度比第一终端慢,导致第二终端在接收到设备认证时,查询不到第一终端,则认为第一终端不是可信设备,导致投屏失败,这样,增加了投屏成功的概率。
44.第六方面,本技术实施例提供了一种第二终端,其特征在于,所述第一终端包括一个或多个处理器和一个或多个存储器;其中,所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述一个或多个处理器用于调用所述计算机指令以使得第二终端执行如第二方面的方法。
45.在上述实施例中,第一终端可以为手机,第二终端可以为电视,在第一终端向第二终端发起投屏请求时,第一终端与第二终端不可信时就会添加对端设备为可信设备,才能投屏,第二终端添加第一终端成为可信设备之后,会告知第一终端添加可信设备完成,使得第一终端可以发起设备认证,这样,第一终端发起设备认证时,第二终端是添加了第一终端为可信设备的,不会由于第二终端添加可信设备的速度比第一终端慢,导致第二终端在接收到设备认证时,查询不到第一终端,则认为第一终端不是可信设备,导致投屏失败,这样,增加了投屏成功的概率。
46.第七方面,本技术实施例提供了一种计算机存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序包括可执行指令,所述可执行指令当被处理器执行时使所述处理器执行如第一方面所述的方法。
47.在上述实施例中,第一终端可以为手机,第二终端可以为电视,在第一终端向第二终端发起投屏请求时,第一终端与第二终端不可信时就会添加对端设备为可信设备,才能投屏,第二终端添加第一终端成为可信设备之后,会告知第一终端添加可信设备完成,使得
第一终端可以发起设备认证,这样,第一终端发起设备认证时,第二终端是添加了第一终端为可信设备的,不会由于第二终端添加可信设备的速度比第一终端慢,导致第二终端在接收到设备认证时,查询不到第一终端,则认为第一终端不是可信设备,导致投屏失败,这样,增加了投屏成功的概率。
48.第八方面,本技术实施例提供了一种包含指令的计算机程序产品,其特征在于,当该计算机程序产品在终端上运行时,使得该终端执行如第一方面或第一方面的任意一种实施方式所描述的方法。
49.在上述实施例中,第一终端可以为手机,第二终端可以为电视,在第一终端向第二终端发起投屏请求时,第一终端与第二终端不可信时就会添加对端设备为可信设备,才能投屏,第二终端添加第一终端成为可信设备之后,会告知第一终端添加可信设备完成,使得第一终端可以发起设备认证,这样,第一终端发起设备认证时,第二终端是添加了第一终端为可信设备的,不会由于第二终端添加可信设备的速度比第一终端慢,导致第二终端在接收到设备认证时,查询不到第一终端,则认为第一终端不是可信设备,导致投屏失败,这样,增加了投屏成功的概率。
附图说明
50.图1a-图1j为本技术实施例提供的投屏场景的一组示例性用户界面;图2示出了各终端根据设备群组信息确定可以进行投屏的一个示意图;图3是本技术实施例提供的第一终端的软件结构框图;图4示出了第一终端与第二终端进行投屏时,内部各模块之间的一种交互流程图;图5示出了第一终端与第二终端进行投屏时,内部各模块之间的另一种交互流程图;图6示出了本技术实施例中投屏方法的一个示例性流程图;图7是本技术实施例提供的第一终端的硬件结构示意图;图8是本技术实施例提供的第二终端的硬件结构示意图。
具体实施方式
51.本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
52.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
53.对于背景技术中涉及的方案,手机等屏幕较小的设备可以被称为第一终端,电视等屏幕较大的设备可以被称为第二终端。
54.为了保证投屏的安全性,则投屏在可信设备之间才可进行,第一终端向第二终端
发起投屏时,第一终端添加第二终端成为可信设备之后,即会向第二终端发起设备认证,在一些情况下,第二终端还没有添加第一终端成为可信设备,则会认为第一终端不可信,导致投屏失败。
55.应该理解的是,这里第一终端发起设备认证之后,第二终端还没有添加第一终端成为可信设备的情况可以包括但不限于以下情况:(1)第二终端的软件系统和/或硬件系统比第一终端来说相对较差,导致第二终端添加可信设备比第一终端慢,例如,通常来说,第一终端中,芯片的处理能力比第二终端的芯片强,则在使用投屏的过程中,第二终端的芯片对投屏业务的处理较慢(相比于第一终端而言),则导致第一终端发起设备认证之后,第二终端还没有添加第一终端成为可信设备。
56.(2)第二终端的网络差,导致该第二终端延迟接收到第一终端发起的添加可信设备的指令,从而导致第二终端添加可信设备比第一终端慢。
57.本技术实施例中提出一种投屏方法,在第一终端向第二终端发起投屏时,第一终端确定添加第二终端成为可信设备,且,确定第二终端添加第一终端为可信设备成功之后,才会发起设备认证,在第二终端接收到第一终端发送的设备认证之后,确定第一终端为可信设备的情况下,然后,第一终端与第二终端完成协商投屏时涉及的会话密钥,则第一终端确定设备认证通过,可以与第二终端之间可以进行投屏,这样可以屏蔽掉因为第二终端比第一终端添加可信设备慢而导致投屏失败的问题。
58.在一些实施例中,在第一终端向第二终端发起投屏时,第一终端与第二终端首先确定设备间是否可信,如果不可信则第二终端可以提供一个连接码,第一终端获取该连接码之后,可以创建一个设备群组,并生成用于添加可信设备的第一设备群组信息,并请求该第二终端加入该设备群组,该请求中携带了设备群组的设备群组id,响应于该请求,第二终端可以与第一终端基于该连接码交换设备身份凭据,然后,第一终端与第二终端即可开始添加对端设备为可信设备,添加可信设备的过程为:第一终端将第二终端添加至该第一设备群组信息中,使得第二终端成为可信设备,此时,第二终端可以生成一个与该第一设备群组信息具有相同设备群组id的第二设备群组信息,用于添加该第二终端的可信设备,然后将第一终端添加至该第二设备群组信息中,使得第一终端成为可信设备。第二终端添加第一终端为可信设备之后,可以向第一终端发送一个添加可信设备成功的通知,第一终端接收到该通知之后,可以确定第二终端添加第一终端为可信设备成功,才会发起设备认证,第二终端在接收到第一终端发送的设备认证之后,可以在第二设备群组信息中查询到第一终端,确定该第一终端是可信设备,然后与第一终端协商投屏时涉及的会话密钥,协商完成后,则设备认证通过,同意与第一终端进行投屏。
59.本技术实施例中,第一终端发起投屏的方式可以包括以下几种方式,但是不限定于以下几种方式:方式1:在应用内发起投屏。
60.第一终端可以在打开某些支持投屏的应用时,发起投屏,这些应用可以包括视频应用、图库应用等。这些应用中包括可以进行投屏的投屏控件,响应于对该投屏控件的操作(例如点击操作),第一终端显示可以进行投屏的设备,选择其中一个设备发起投屏,例如,终端打开视频应用正在播放视频,该视频应用中包括一个可以进行投屏的第一投屏控件,响应于对该第一投屏控件的操作(例如点击操作),终端可以选择一个其他终端进行投屏,
设备认证通过之后,其他终端的屏幕中可以显示第一终端中正在播放的视频。
61.方式2:通过通知栏中的无线投屏控件发起投屏。
62.第一终端的通知栏中可以包括一个无线投屏控件,响应于对该无线投屏控件的操作(例如点击操作),第一终端显示可以进行投屏的设备,选择其中一个设备发起投屏,设备认证通过之后,第一终端可以将其屏幕中的内容投屏到被选择设备的屏幕中。对该方式2的详细描述可以参考下述对图1a-图1j的描述,此处暂不赘述。
63.方式3:通过近距离无线通信技术(near field communication,nfc),“碰一碰”进行投屏。
64.在第一终端具有nfc功能且该功能开启的情况下,可以选择同样具有nfc功能的其他设备,“碰一碰”进行投屏。
65.下面以第一终端通过通知栏中的无线投屏控件向第二终端发起投屏为例,对本方案的一个适用场景进行示例性描述:图1a-图1j为本技术实施例提供的投屏场景的一组示例性用户界面。
66.本技术中的术语“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在终端的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。
67.图1a中的用户界面10为第一终端的桌面,其中,该用户界面10中包括隔离热区101,第一终端可以通过响应用户在隔离热区中从屏幕边缘开始的操作(例如从屏幕边缘开始的滑动操作等),实现下拉显示通知栏的功能,显示如下图1b所示的用户界面11,在该用户界面11中显示有系统的通知栏111。
68.图1b中的用户界面11为第一终端的一个用户界面,该用户界面11中包括系统的通知栏111,该通知栏111中包括无线投屏控件111a,该无线投屏控件111a可以用于触发第一终端发起投屏。响应于在该无线投屏控件111a上的操作(例如点击操作),第一终端可以搜索周围可以进行投屏的可用设备,显示图1c中的用户界面12。
69.图1c中的用户界面12中为第一终端进行投屏时搜索可用设备的一个用户界面,用户界面12中包括提示框121,该提示框121中包括提示文字:“正在搜索可用设备”,该提示文字可以提示用户当前第一终端正在搜索可以进行投屏的可用设备。此时,第一终端可以扫描周围的可用设备然后返回可用设备,显示如图1d中的用户界面13。
70.图1d中的用户界面13为第一终端显示可用设备时的一个用户界面,用户界面13中包括提示框131,该提示框131中包括可用设备列表132,该可用设备列表132中可以包括可用设备选项132a以及可用设备选项132b,这些可用设备选项中可以显示可用设备的名称,例如,“xx电视”和“xx笔记本”,其中,在图1a-图1j中,xx电视即是本技术实施例中的第二终端。响应于在可用设备选项132a上的操作(例如点击操作),第一终端可以向第二终端发起建立连接,进行投屏的指令。此时,第一终端可以显示图1e中的用户界面14。
71.图1e中的用户界面14为第一终端与第二终端建立连接过程中涉及的一个用户界面。该用户界面14中可以显示提示框141,该提示框中包括提示文字:“正在连接”,该提示文
字用于提示用户第一终端与第二终端正在建立连接。
72.此时,第一终端与第二终端可以确定对端设备是否为可信设备,只要当第一终端确定第二终端是可信设备以及第二终端确定第一终端是可信设备的情况下,第一终端与第二终端才可以进行投屏。当第一终端或第二终端确定对端设备不是可信设备时,则无法进行投屏,此时,第二终端可以显示图1f中的用户界面20。
73.图1f中的用户界面20中包括提示框201,该提示框201中包括提示信息:“xx电视请求连接,是否信任此设备”,还包括“信任”控件201a,响应于在该“信任”控件201a上的操作(例如点击操作),此时第二终端同意与第一终端建立连接,进行投屏,然后第二终端可以提供一个连接码,显示如图1g所示的用户界面21。
74.如图1g所示,用户界面21中包括提示框211,该提示框211中包括连接码211a,该连接码211a可以用于设备间建立连接,进行无线投屏。
75.当第一终端或第二终端确定对端设备不是可信设备,但是第二终端同意与第一终端建立连接之后,第一终端可以显示如图1h中所示的用户界面15。
76.如图1h中的用户界面15所示,用户界面15中可以显示连接码输入框151,用于第一终端输入第二终端提供的连接码,第一终端将连接码输入完成之后的一个用户界面可以如下图1i中的用户界面16。
77.如图1i中的用户界面16所示,第一终端在输入连接码之后,可以显示提示框161,该提示框161中可以包括连接控件161a,响应于在该连接控件161a上的操作(例如点击操作),第一终端可以基于该连接码与第二终端协商传输数据时涉及的会话密钥,然后第一终端与第二终端可以添加对端设备为可信设备,进行投屏,其中,第二终端添加第一终端为可信设备之后,可以向第一终端发送一个添加可信设备成功的通知,第一终端接收到该通知之后,可以确定第二终端添加第一终端为可信设备成功,才会发起设备认证,第二终端在接收到第一终端发送的设备认证之后,可以在第二设备群组信息中查询到第一终端,确定该第一终端是可信设备之后,第一终端与第二终端才可以进行无线投屏,此时第二终端可以显示如图1j所示的用户界面22。该过程涉及的具体描述可以参考下述对s113-s132的描述,此处先不赘述。
78.如图1j所示,第一终端的用户界面22中可以显示第一终端的屏幕中的内容。此时第一终端与第二终端已经成功建立连接,可以基于协商的会话密钥进行无线投屏了。
79.应该理解的是,图1a-图1j所描述的内容是前述方式2中涉及的通过通知栏中的无线投屏控件发起投屏的一种示例性描述,实际应用中可以不同,不应该构成对本技术实施例的限定。方式1以及方式3中涉及的投屏方式可以参考对图1a-图1j中的描述,此处不再赘述。
80.下面介绍本技术实施例中涉及的设备群组。
81.设备群组由一个终端创建,可以请求其他终端加入该设备群组,该设备群组对应一个设备群组id,该设备群组id用于标识该设备群组,该设备群组中的任一终端中可以生成与该设备群组对应的设备群组信息,用于记录该设备群组在该终端中的全部信息(例如下述涉及的第一终端创建了设备群组,则生成第一设备群组信息以记录该设备群组在该第一终端中的全部信息,以及,然后要请第二终端加入该设备群组,该第二终端则生成第二设备群组信息以记录该设备群组在该第二终端中的全部信息),该设备群组信息中包括设备
群组数据,以及设备群组id对应的可信设备列表。
82.其中,该设备群组数据中至少包括设备id。
83.可信设备列表中用于记录终端的可信设备,该可信设备是指不通过连接码即可与该终端建立连接,进行投屏的其他设备,若两个终端中配置的设备群组信息具有相同的设备群组id,则可以称这两个终端处于该设备群组id对应的设备群组中,互为可信设备。
84.本技术实施例中涉及的投屏方法,为了保证投屏时,终端间数据传输的安全性,可以在进行投屏的终端中都配置一个设备群组信息,若在两个终端的设备群组信息中可以查询到对端设备,即可进行设备认证时,设备认证通过,则认为对端设备为可信设备,才可以进行投屏。
85.图2示出了各终端根据设备群组信息确定可以进行投屏的一个示意图。
86.如图2中涉及的各终端包括:终端101及终端102,其中,终端101为屏幕较小的设备,可以将屏幕中的内容投屏到电视的屏幕,此处终端101可以为手机,终端102为屏幕较大的设备,例如可以为电视。其中,设备群组信息1及设备群组信息2中包括的设备群组id相同。
87.终端101可以向终端102发起投屏,如果想投屏成功,则需要在进行设备认证时,终端101以及终端102中包括的设备群组信息中都可以查询到对端设备。例如终端101的设备群组信息1中包括终端102、终端102的设备群组信息2中也包括终端101,则当终端101向终端102发起设备认证时,可以成功,则可以进行投屏。
88.下面描述本技术实施例中第一终端的软件结构框图。
89.应该理解的是,第二终端与第一终端的软件结构框图相似,这里以第一终端的软件结构框图为例进行描述,第二终端的软件结构框图可以参考对其的描述,此处不再赘述。
90.图3是本技术实施例提供的第一终端的软件结构框图。
91.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将系统分为四层,从上至下分别为应用程序层,应用程序框架层,运行时(runtime)和系统库,以及内核层。
92.应用程序层可以包括一系列应用程序包。
93.如图3所示,应用程序包可以包括图库、视频、wlan、蓝牙、音乐、短信息、相机、通话、导航、日历、地图等应用程序(也可以称为应用)。
94.其中,在一些实施例中,图库应用以及视频应用中可以提供投屏控件作为投屏入口,使得第一终端可以发起投屏。
95.应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。
96.应用程序框架层可以包括业务处理模块、设备可信互联模块、软总线模块、通知管理器及视图系统等。
97.业务处理模块可以用于在投屏时,将检测到的与投屏相关的控件上的操作,转化成该控件对应的事件,触发第一终端执行该事件以响应该操作。例如,该控件可以为前述涉及的无线投屏控件111a,当用户点击该无线投屏控件111a时,该业务处理模块可以将该点击操作转化称为发起无线投屏的事件,响应于该点击操作,可以扫描可用设备。
98.业务处理模块还可以用于设置设备群组的参数。
99.业务处理模块还可以调用第一设备可信互联模块,与其进行交互,例如将设备群组的参数发送至第一设备可信互联模块,发起创建设备群组的指令。
100.业务处理模块还可以在确定第二终端添加至第一设备群组信息中之后,发起设备认证的指令。
101.设备可信互联模块可以用于建立设备群组,生成第一设备群组信息,例如在接收到设备群组的参数之后,可以确定该设备群组的设备群组id。
102.设备可信互联模块还可以用于添加可信设备至第一设备群组信息中,且,查询该第一设备群组信息中的可信设备。例如可以将第二终端添加至第一设备群组信息中。
103.设备可信互联模块还可以用于协商与其他终端进行会话的会话密钥,例如下述涉及的第一会话密钥以及第二会话密钥。
104.软总线模块可以包括设备发现模块以及设备连接模块。
105.其中,设备发现模块可以用于扫描发现可以与第一终端进行投屏的设备,得到可用设备。其中,该扫描可以包括下述涉及的wifi扫描以及蓝牙扫描。
106.设备发现模块还可以用于响应扫描,向其他终端发送本端的设备id等信息。
107.设备连接模块可以用于连接第一终端与其他终端,使得第一终端可以与其他终端可以进行交互,发送数据。
108.应该理解的是,以上描述的是业务处理模块、设备可信互联模块及软总线模块的部分功能,其他功能可以参考下述对s101-s133的描述,此处不再一一描述。
109.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话界面形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端振动,指示灯闪烁等。
110.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
111.运行时(runtime)包括核心库和虚拟机。runtime负责系统的调度和管理。
112.核心库包含两部分:一部分是编程语言(例如,jave语言)需要调用的功能函数,另一部分是系统的核心库。
113.应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的编程文件(例如,jave文件)执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
114.系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),二维图形引擎(例如:sgl)等。
115.表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了二维(2-dimensional,2d)和三维(3-dimensional,3d)图层的融合。
116.媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如: mpeg4,h.264,mp3,aac,amr,jpg,png等。
117.三维图形处理库用于实现3d图形绘图,图像渲染,合成,和图层处理等。
118.2d图形引擎是2d绘图的绘图引擎。
119.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,虚拟卡驱动。
120.下面结合上述涉及的软件结构,详细描述第一终端与第二终端进行投屏时,内部各模块之间的交互流程。
121.第一终端与第二终端进行投屏时,主要涉及到软件结构中的以下模块:业务处理模块、设备可信互联模块及软总线模块。其中第一终端的业务处理模块、设备可信互联模块及软总线模块可以分别被称为第一业务处理模块、第一设备可信互联模块以及第一软总线模块,第二终端的业务处理模块、设备可信互联模块及软总线模块可以分别被称为第二业务处理模块、第二设备可信互联模块以及第二软总线模块。
122.图4示出了第一终端与第二终端进行投屏时,内部各模块之间的一种交互流程图。
123.应该理解的是,在一些实施例中,第一终端与第二终端发送内容到对端都需要通过软总线模块(包括第一软总线模块以及第二软总线模块),该内容包括指令、数据或邀请等,例如,下述s106中,第一业务处理模块向第二业务处理模块发送建立连接的指令时,该第一业务处理模块需要将该指令发送给第一软总线模块,然后第一软总线模块将该指令发送给第二软总线模块,然后第二软总线模块再将该指令发送第二业务处理模块。这里为了简化交互流程图以及体现模块之间的交互,省略了一个终端发送内容到另一个终端时需要经过软总线模块的交互过程,不应该构成对申请实施例的限定。
124.如图4所示,该过程可包括如下步骤:s101.第一业务处理模块检测到投屏操作。
125.第一业务处理模块检测到投屏操作时涉及的一个用户界面可以参考前述图1b中的用户界面11。
126.在一些实施例中,该第一业务处理模块可以为支持投屏的应用中的一个功能模块,该应用可以为视频应用、图库应用等或者系统的无线投屏应用等。
127.s102.第一业务处理模块通过第一软总线模块检测可以进行投屏的可用设备。
128.第一业务处理模块在检测到投屏操作之后,可以调用第一软总线模块检测周围(例如5m范围内)可以与第一终端进行投屏的可用设备。
129.此时,第一终端涉及的一个用户界面可以参考前述图1c中的用户界面12。
130.s103.第一软总线模块进行扫描发现设备,得到可用设备。
131.该扫描可以包括wi-fi扫描和/或蓝牙扫描,wi-fi扫描的目的在于通过wi-fi网络发现其他可用设备并与可用设备通过wi-fi网络建立连接,获取可用设备的设备id。
132.其中,本技术实施例中涉及的设备id 为终端的标识,可以用于唯一表示一个终端,该终端的标识除了设备id以外,还可以包括设备名称、设备物理地址、移动设备识别码(mobile equipment identifier,meid),国际移动设备识别码(international mobile equipment identity,imei)中的一个或其组合等,此处不作限定。
133.第一软总线模块中的设备发现模块(以下简称为第一设备发现模块)可以进行扫描,发现第一终端周围的可用设备。
134.在第一终端支持waln功能且该waln功能处于开启的情况下,该第一设备发现模块可以进行wi-fi扫描,此时,第二终端支持waln功能且该waln功能处于开启的情况下,则第
二软总线模块中的设备发现模块(以下简称为第二设备发现模块)可以接收到该wi-fi扫描,并且响应该wi-fi扫描,与该第一设备发现模块通过wi-fi网络建立连接,将第二终端的设备id发送至第一设备发现模块。
135.在第一终端支持蓝牙功能且该蓝牙功能处于开启的情况下,该第一设备发现模块可以进行蓝牙扫描,此时,第二终端支持蓝牙功能且该蓝牙功能处于开启的情况下,则第二设备发现模块可以接收到该蓝牙扫描,并且响应该蓝牙扫描,与该第一设备发现模块通过蓝牙网络建立连接,将第二终端的设备id发送至第一设备发现模块。
136.应该理解的是,在一些可能的情况下,可用设备除了响应该扫描时,除了可以向第一设备发现模块发送设备id以外,还可以发送上一次与该第一终端进行投屏的时间戳、以及终端的信号强度,例如wi-fi网络的接收信号强度指示(received signal strength indication,rssi)。
137.其他可用设备与第二终端的对该扫描的原理相同,第一软总线模块可以通过扫描发现设备,得到可用设备。
138.s104.第一软总线模块向第一业务处理模块上报可用设备。
139.第一软总线模块向第一业务处理模块上报可用设备的时机包括但不限于以下时机:在一些实施例中,第一总线模块可以设置一次扫描的持续时间,达到该时间后,则可以将扫描到的全部可用设备上报至第一业务处理模块。
140.在另一些实施例中,第一总线模块可以扫描到预设数量的可用设备之后则停止扫描,可用设备达到该预设数量之后,则可以将扫描到的全部可用设备上报至第一业务处理模块。
141.s105.第一业务处理模块显示可用设备,该可用设备中包括第二终端。
142.第一业务处理模块显示可用设备时涉及的一个用户界面可以参考图1d中的用户界面。
143.在一些可能的情况下,第一业务处理模块显示可用设备时,可以将最近与该第一终端进行过投屏的终端显示在前面。
144.在另一些可能的情况下,第一业主处理模块显示可用设备时,可以将信号强度越强的终端显示在越前面。
145.s106.第一业务处理模块检测到与第二终端进行投屏的操作。
146.该s106涉及的一个用户界面可以参考前述图1d中的用户界面13,此时,用户点击第二终端进行投屏,第一业务处理模块可以检测到与第二终端进行投屏的操作。
147.s107.第一业务处理模块向第二业务处理模块发送与第二终端建立连接的请求,该请求中携带了第一终端的设备id以及第二终端的设备id。
148.第一业务处理模块获取第一终端的设备id以及第二终端的设备id,向第二业务处理模块发送与第二终端建立连接的请求,该请求用于邀请第二终端与第一终端建立连接,进行投屏。其中,携带了执行发送方的设备id(第一终端的设备id)以及指令接收方的设备id(第二终端的设备id)。
149.s108.第一终端调用第一业务处理模块查询第二终端是否可信,得到第一查询结果。
150.第一查询结果包括可信和不可信,可信是指第二终端可信,不可信是指第二终端不可信。
151.在发送与第二终端建立连接的请求后,第一业务处理模块可以通过第一设备可信互联模块查询第二终端是否可信,得到第一查询结果。
152.在一种可能的实现方式中,该第一设备可信互联模块可以在投屏涉及的设备群组信息中查询是否包括第二终端,如果不包括,则第一查询结果为不可信,将该第一查询结果返回给第一业务处理模块。
153.在另一种可能的实现方式中,如果第一设备可信互联模块查询不到投屏涉及的设备群组信息,则确定该第二终端不可用。
154.s109.第二终端调用第二业务处理模块查询第一终端是否可信,得到第二查询结果。
155.第二查询结果包括可信和不可信,可信是指第一终端可信,不可信是指第一终端不可信。
156.第二业务处理模块在接收到第一业务处理模块发送与第一终端建立连接的请求后,该第二业务处理模块可以通过第二设备可信互联模块查询第一终端是否可信,得到第二查询结果。该过程与前述s108相似,此处不再赘述。
157.s110.第一业务处理模块向第二业务模块发送第一查询结果。
158.应该理解的是,该s110与s109的执行顺序没有先后之分。
159.s108中,第一业务处理模块查询第二终端是否可信,得到第一查询结果之后,可以向第二业务模块发送第一查询结果。
160.s111.第二业务处理模块基于第一查询结果以及第二查询结果,确定第一终端以及第二终端间是否可信。
161.在第二业务处理模块确定第一查询结果和第二查询结果都为可信的情况下,则确定第一终端以及第二终端间可信。
162.在第二业务处理模块确定第一查询结果和/或第二查询结果不可信的情况下,则确定第一终端以及第二终端间不可信。
163.其中,第二业务处理模块确定第一终端以及第二终端间不可信的情况下,涉及的一个用户界面可以参考前述图1f中示出的用户界面20。
164.s112.在第二业务处理模块确定第一终端以及第二终端间不可信的情况下,检测到信任第一终端的操作之后,显示连接码。
165.在一种可能的场景中,该s112涉及的一个用户界面可以参考前述图1f中示出的用户界面20以及图1g中示出的用户界面21,此时,用户点击用户界面图1f中的“信任”控件201a,第二业务处理模块可以检测到信任第一终端的操作,然后显示连接码,例如用户界面21中的连接码。
166.s113.在第二业务处理模块确定第一终端以及第二终端间不可信的情况下,通知第一业务处理模块设备间不可信。
167.该s113发生在第二业务处理模块检测到信任第一终端的操作之后。
168.s114.第一业务处理模块获取连接码,并检测到连接操作。
169.在一种可能的情况下,该第一业务处理模块可以获取用户通过第一终端输入的连
接码,并检测到连接操作。该过程涉及的用户界面可以参考前述图1h中的用户界面15以及前述图1i中的用户界面16,该连接操作可以为在连接控件161a的操作(例如点击操作)。
170.在一种可能的情况下,第二终端可以将连接码发送至第一终端,例如在前述涉及的s113中,第二终端在通知第一业务处理模块设备间不可信时,可以携带连接码,第一终端接收到该连接码之后,可以将其显示在用户界面中,不需要用户通过第一终端输入,然后检测到连接操作,该连接操作可以是用户通过第一终端触发的,也可以是终端获取连接码之后,自动触发的,即不需要用户参与。在这种情况下,s112中,第二终端可以不显示连接码。
171.s115.第一业务处理模块设置设备群组的参数,并向第一设备可信互联模块发起创建设备群组的指令。
172.在一些实施例中,该s115发生在第一业务处理模块检测到连接操作之后。
173.该设备群组的参数可以包括业务标识和/或群组名,还可以包括其他参数,例如群组类型或群组访问白名单等。
174.其中,业务标识为发起创建设备群组的业务的标识,用于唯一表示该业务,例如可以为投屏业务的标识,还可以为该第一业务处理模块所属应用的应用标识,该应用标识用于唯一表示该应用。群组名为设备群组的名称,可以用于该第一业务处理模块识别该第一设备群组。群组类型用于表示该设备群组中的可信设备间的连接方式,该连接方式可以包括点对点的连接方式。群组访问白名单用于描述该设备群组的一种访问权限,处于该访问白名单中的其他终端可以优先与该第一终端建立连接,进行投屏。
175.在一种可能的情况下,该第一业务处理模块设置设备群组的参数之后,可以向第一设备可信互联模块发起创建设备群组的指令,该指令中携带了部分或者全部设备群组的参数。
176.在一种可能的情况下,该第一业务处理模块可以向第一设备可信互联模块发起创建设备群组的指令,该执行中携带了部分设备群组的参数,然后再设置该设备群组的其他参数。
177.应该理解的是,在该指令中携带部分参数的情况下,至少应该携带创建设备群组涉及的参数,该创建设备群组的详细过程可以参考下述对步骤s116的描述,此处暂不描述。本技术实施例中,以创建设备群组涉及的参数为业务标识和群组名为例进行说明,其他情况下可以根据实际需要进行调整,不构成对本技术实施例的限定。
178.s116.第一设备可信互联模块创建设备群组,生成第一设备群组信息,该第一设备群组信息中包括设备群组id。
179.该第一设备群组信息用于记录第一终端中设备群组的全部信息,该第一设备群组信息中可以包括第一设备群组数据,以及设备群组id与第一可信设备列表的对应关系。
180.其中,该第一设备群组数据中至少包括设备群组id,该设备群组id用于唯一表示该第一设备群组信息。该第一设备群组数据中还可以包括设备群组的参数(部分或者全部),该设备群组参数与设备群组id对应。
181.第一设备可信互联模块生成设备群组id的一种方式为:利用业务标识和群组名通过安全散列(secure hash algorithm,sha) 256算法计算得到。
182.在一种可能的实现方式中,该步骤s116中生成的第一设备群组信息中只包括了第一设备群组数据。
183.在另一种可能的实现方式中,该步骤s116中生成的第一设备群组信息中不仅包括第一设备群组数据,还包括设备群组id与第一可信设备列表的对应关系,此时该第一可信设备列表中还没有添加可信设备,下述步骤s121中可以将第二终端添加至该第一可信设备列表中,并对该第一可信设备列表进行相关介绍,此处先不展开叙述。
184.在一种可能的情况下,该第一设备可信互联模块可以将该第一设备群组信息中的第一设备群组数据存储到第一终端的存储器中,具体可以存储在一个用于存储用户数据的文件中,例如xxxx.xml文件中。将第一设备群组信息中的设备群组id与第一可信设备列表的对应关系存储到第一终端的存储器中,具体可以存储在另一个用于存储用户数据的文件中,例如xxxx.db文件中。
185.s117.第一设备可信互联模块向第一业务处理模块返回设备群组id。
186.s118.第一业务处理模块向第一设备可信互联模块发起添加第二终端为可信设备的指令,该指令中携带了设备群组id以及第二终端的设备id。
187.该指令中可以携带设备群组id以及第二终端的设备id,该指令用于告知第一设备可信互联模块添加第二终端至第一设备群组信息中,使得该第二终端成为可信设备,且,向第二终端发送加入至设备群组的请求,该第一设备可信互联模块添加第二终端为可信设备的详细描述可以参考下述对s121的描述。
188.s119.第一设备可信互联模块向第二设备可信互联模块发送加入至设备群组的请求,该请求中携带了设备群组id以及第一终端的设备id。
189.该请求用于请求第二终端加入设备群组,与第一终端互成为可信设备。
190.该请求中还可以携带部分或者全部设备群组的参数。
191.s120.第一设备可信互联模块与第二设备可信互联模块基于连接码协商第一会话密钥,利用第一会话密钥交换设备身份凭证。
192.该设备身份凭证可以为终端(包括第一终端与第二终端)的认证密钥,例如公密钥和/或私密钥,该设备身份凭证可以用于生成进行投屏时涉及会话的会话密钥,该投屏时涉及会话的会话密钥可以用于加密投屏时涉及的数据,保证投屏时数据传输的安全性,例如,该投屏时涉及会话的会话密钥可以为下述s129中的第二会话密钥。
193.该第一会话为第一设备可信互联模块与第二设备可信互联模块交换设备身份凭证的会话。第一会话密钥可以用于加密交换设备身份凭证,第一设备可信互联模块可以基于该第一会话密钥将第一终端的设备身份凭证进行加密,然后基于发送至第二设备可信互联模块,同理,第二设备可信互联模块可以该第一会话密钥将第二终端的设备身份凭证进行加密,然后发送至第一设备可信互联模块。
194.在一种可能的实现方式中,第一设备可信互联模块与第二设备可信互联模块可以基于连接码,得到共享个人识别密码(personal identification number,pin),例如将该连接码作为pin码。然后基于该pin码利用认证密钥交换(pake)协议交换设备身份凭证。这里除了pake协议,还可以为其他的协议,例如,安全远程口令(secure remote password,srp)协议,本技术实施例对此不作限定。
195.s121.第一设备可信互联模块添加第二终端到第一设备群组信息中。
196.第一设备可信互联模块将第二终端添加至第一设备群组信息中的一种方式为:将该第二终端的信息添加至与该第一设备群组信息中的设备群组id对应的第一可信设备列
表中,该第一可信设备列表用于记录第一终端的可信设备,该第一可信设备列表中的一个数据项即为一个终端的信息,例如,第二终端的信息就是其中的一个数据项。该第二终端的信息可以包括第二终端的设备id,还可以包括添加第二终端到第一设备群组信息中的时间。
197.在一种可能的情况下,该第二终端的信息中还可以包括第一业务处理模块发起与第二终端建立连接的时间,第一设备可信互联模块可以将该时间与第二终端的设备id对应,一起添加至该第一可信设备列表,作为该第一可信设备列表中的一个数据项,该第一设备可信互联模块可以根据该建立连接的时间对第一可信设备列表中的数据项进行管理,例如删除其中建立连接的时间与当前时间相差大于时间阈值的数据项。
198.应该理解的是,前述设备的数据项中还可以包括其他的信息,例如第二设备的设备名称等信息,本技术实施例对此不做限定。
199.s122.第二设备可信互联模块生成第二设备群组信息,并添加第一终端到第二设备群组信息中。
200.该第二设备群组信息用于记录第二终端中设备群组的全部信息,该第二设备群组信息中可以包括第二设备群组数据,以及设备群组id与第二可信设备列表的对应关系。
201.其中,该第二设备群组数据中至少包括设备群组id,该设备群组id用于唯一表示该第二设备群组信息。该第二设备群组数据中还可以包括设备群组的参数(部分或者全部),该设备群组参数与设备群组id对应。
202.第二可信设备列表用于记录第二终端的可信设备,该第二可信设备列表中的一个数据项即为一个终端的信息,例如,第一终端的信息就是其中的一个数据项。该第一终端的信息可以包括第一终端的设备id,还可以包括添加第一终端到第二设备群组信息中的时间。
203.该s122中,第二设备可信互联模块生成第二设备群组信息,并添加第一终端到该第二设备群组信息中的方式可以参考前述第一终端生成第一设备群组信息,以及添加第二终端至第一设备群组信息中的过程,此处不再赘述。
204.将第一终端添加至第二设备群组信息中之后,第二设备群组信息中的设备群组id对应的第二可信设备列表中,可以包括第一终端的信息。
205.在一种可能的实现方式中,第二设备可信互联模块可以将该第二设备群组信息的第二设备群组数据存储到第二终端的存储器中,具体可以存储在一个用于存储用户数据的文件中,例如xxxx.xml文件中,可以将该第二设备群组信息中的设备群组id以及其对应的第二可信设备列表存储到第二终端的存储器中,具体可以存储在一个用于存储用户数据的文件中,例如xxx.db文件中。
206.s123.第二设备可信互联模块通知第一设备可信互联模块设备添加成功。
207.第二设备可信互联模块向第一设备可信互联模块发送第一添加成功通知,该第一添加成功通知用于通知第一设备可信互联模块设备添加成功,此时,设备添加成功是指第二终端完成添加第一终端成为可信设备。
208.s124.第一设备可信互联模块通知第一业务处理模块添加第二终端成功。
209.通常来说,前述s121会比s122先执行完,当第一业务处理模块接收到第二终端添加成功的通知时,即可发起设备认证。
210.s125.第二设备可信互联模块通知第二业务处理模块添加第一终端成功。
211.应该理解的是,在一些实施例中,步骤s125之前,第一设备可信互联模块可以通知第二设备可信互联模块设备添加成功。
212.第一设备可信互联模块向第二设备可信互联模块发送第二添加成功通知,该第二添加成功通知用于通知第一设备可信互联模块设备添加成功,此时,设备添加成功是指第一终端完成添加第二终端成为可信设备。
213.s126.第一业务处理模块向第一设备可信互联模块发起设备认证的指令,该指令中携带了设备群组id、第二终端的设备id。
214.第一业务处理模块在确定第二终端添加至第一设备群组信息中之后,即可确定第二终端为第一终端的可信设备,在确定第二终端添加第一终端为可信设备成功之后,即可发起设备认证的指令。该指令用于通知第二终端认证第一终端,即确定第一终端是否为可信设备。
215.s127.第一设备可信互联模块向第二设备可信互联模块发送在设备群组id对应的设备群组上对第一终端进行设备认证的认证通知。
216.该认证通知中携带了进行设备认证涉及的设备群组的设备群组id,以及要认证的终端的设备id,即包括第一设备群组的设备群组id以及第一终端的设备id。
217.在一些实施例中,对于上述步骤s123-步骤s127,第一设备可信互联模块可以在接收到第二设备可信互联模块添加可信设备成功的通知之后,才向第一业务处理模块发送第二终端添加到第一设备群组信息中成功的通知,然后第一业务处理模块即可发起设备认证。对于该实施例,在一些可能的情况下,第一设备可信互联模块在添加第二终端到第一设备群组信息中之后,在第一预设时间(例如500ms或1000ms等)内,没有接受到第二设备可信互联模块添加可信设备成功的通知,则可以向第一业务处理模块发送第二终端添加到第一设备群组信息中成功的通知。
218.在另一些实施例中,对于上述步骤s123-步骤s127,其中步骤s123以及步骤s124的执行顺序没有先后之分,当第一业务处理模块接收到第一设备可信互联模块发送的第二终端添加到第一设备群组信息中成功的通知之后,即可向第一设备可信息互联模块发起设备认证的指令,第一设备可信互联模块接收到该发起设备认证的指令以及接收到第二设备可信互联模块添加可信设备成功的通知之后才向第二设备可信互联模块发送在设备群组id对应的设备群组上认证第一终端的通知。对于该实施例,在一些可能的情况下,第一设备可信互联模块在添加第二终端到第一设备群组信息中之后,在第二预设时间(例如500ms或100ms等)内,没有接受到第二设备可信互联模块添加可信设备成功的通知,则可以向第二业务处理模块发送在设备群组id对应的设备群组上认证第一终端的通知。
219.s128.第二设备可信互联模块在第二设备群组信息中查询到第一终端的设备id。
220.第二设备可信互联模块基于设备群组id与第一终端的设备id,查询第二终端中与该设备群组id对应的设备群组信息,即第二设备群组信息中,是否包括第一终端。
221.第二设备可信互联模块首先根据设备群组id,确定该设备群组id对应的设备列表,然后,查询该设备列表中,包括第一终端的设备id,则确定查询到了第一终端的设备id。
222.应该理解的是,在第二设备群组信息中的设备群组id对应的第二可信设备列表中,没有查询到第一终端的设备id的情况下,则确定设备认证失败,然后向第一设备可信互
联模块返回设备认证失败,该第一设备可信互联模块确定设备认证失败之后,将设备认证失败的结果返回给第一业务处理模块,该第一业务处理模块确定认证失败之后,可以显示一个提示框,提示用户连接失败,无法发起投屏。
223.s129.第一设备可信互联模块与第二设备可信互联模块基于第一终端以及第二终端的设备身份凭证,完成协商第二会话密钥,则设备认证通过。
224.第二会话为第一业务处理模块与第二业务处理模块进行投屏时,发送数据的会话。第二会话密钥可以加密数据,保证投屏的安全性。
225.第一设备可信互联模块与第二设备可信互联模块可以基于前述步骤s120得到的对端设备的设备身份凭证协商第二会话密钥,完成第二会话密钥的协商之后,第一设备可信互联模块与第二设备可信互联模块确定设备认证通过。
226.在一种可能的实现方式中,第一设备可信互联模块与第二设备可信互联模块可以基于对端设备的设备身份凭证利用安全令牌服务(securitytokenservice,sts)协议协商第二会话密钥,该过程为:第一设备可信互联模块基于第二终端的设备身份凭证利用sts协议生成第一临时会话密钥并发送至第二设备可信互联模块,第二设备可信互联模块基于第一终端的设备身份凭证利用sts协议生成第二临时会话密钥并发送至第一设备可信互联模块,第一设备可信互联模块确定第一临时会话密钥以及第二临时会话密钥一致的情况下,则确定设备认证通过,第二设备可信互联模块确定第一临时会话密钥以及第二临时会话密钥一致的情况下,则确定设备认证通过。
227.应该理解的是,sts协议只是举例说明,除了该sts协议,上述过程还可以使用其他的协议,例如安全打包机和编码器密钥交换(secure packager and encoder key exchange,speke)协议,本技术实施例对此不作限定。
228.s130.第一设备可信互联模块通知第一业务处理模块设备认证成功,并发送第二会话密钥至第一业务处理模块。
229.此时,该第一终端以及第二终端可以进行投屏了。
230.该第二会话密钥可以用于第一业务处理模块将投屏涉及的数据进行,例如视频、图片等,利用第二会话密钥加密,然后发送至第二业务处理模块。还可以用于第一业务处理模块解密数据,该数据包括第二业务处理模块发送的数据。
231.s131.第二设备可信互联模块发送第二会话密钥至第二业务处理模块。
232.该第二会话密钥可以用于第一业务处理模块对第一业务处理模块发送的投屏涉及的数据,例如视频、图片等进行解密,还可以用于第二业务处理模块将投屏涉及的数据进行加密后发送至第一业务处理模块。
233.s132.第一业务处理模块以及第二业务处理模块基于第二会话密钥对投屏涉及的数据进行加密,并发送该加密后的数据。
234.第一业务处理模块或第二业务处理模块可以将投屏涉及的数据利用第二会话密钥进行加密,并发数至对端设备,也可以利用该第二会话密钥将接收的数据进行解密。
235.应该理解的是,前述步骤s115-步骤s128中,第一终端与第二终端之间可以不通过建立设备群组的方式成为可信设备。还可通过其他的方式成为可信设备,例如,第一业务处理模块在获取连接码之后,可以向第一设备可信互联模块发起添加第二终端为可信设备的指令,然后,第一可信互联模块可以请求与第二终端交换设备身份凭证,成为可信设备。即
步骤s114之后,第一可信互联模块向第二可信互联模块发送交换设备身份凭证的请求,然后,第一可信互联模块与第二可信互联模块基于该连接码协商第一会话密钥,利用第一会话密钥交换设备身份凭证,该过程可以参考前述对步骤s120的描述,此处不再赘述。第一可信互联模块添加第二终端成为可信设备的方式为:将第二终端的设备身份凭证与第二终端的信息的对应关系写入到数据库中,第二可信互联模块添加第一终端成为可信设备的方式为:将第一终端的设备身份凭证与第二终端的信息的对应关系写入到数据库中。第二可信互联模块完成添加第一终端为可信设备之后,即可执行步骤s123向第一可信互联模块发送设备添加成功通知。第一可信互联模块在接收到该通知之后,即可确定添加第二终端成功,然后向第二可信互联模块发起设备认证的认证通知,第二可信互联模块在数据库中查询到第一终端的信息之后,即可执行步骤s129与第一可信互联模块协商第二会话密钥,确定设备认证通,然后第一设备可信互联模块通知第一业务处理模块设备认证成功,并发送第二会话密钥至第一业务处理模块,第二设备可信互联模块发送第二会话密钥至第二业务处理模块,然后第一业务处理模块与第二业务处理模块可以基于该第二会话密钥进行投屏。应该理解的是,该过程中涉及的与前述内容相似的部分可以参考对前述内容的描述,此处不再赘述。
236.图5示出了第一终端与第二终端进行投屏时,内部各模块之间的另一种交互流程图。
237.如图5所示,该过程可包括如下步骤:s201.第一业务处理模块检测到投屏操作。
238.s202.第一业务处理模块通过第一软总线模块检测可以进行投屏的可用设备。
239.s203.第一软总线模块进行扫描发现设备,得到可用设备。
240.s204.第一软总线模块向第一业务处理模块上报可用设备。
241.s205.第一业务处理模块显示可用设备,该可用设备中包括第二终端。
242.s206.第一业务处理模块检测到与第二终端进行投屏的操作。
243.s207.第一业务处理模块向第二业务处理模块发送与第二终端建立连接的请求,该请求中携带了第一终端的设备id以及第二终端的设备id。
244.s208.第一终端调用第一业务处理模块查询第二终端是否可信,得到第一查询结果。
245.s209.第二终端调用第二业务处理模块查询第一终端是否可信,得到第二查询结果。
246.s210.第一业务处理模块向第二业务模块发送第一查询结果。
247.s211.第二业务处理模块基于第一查询结果以及第二查询结果,确定第一终端以及第二终端间是否可信。
248.s212.在第二业务处理模块确定第一终端以及第二终端间不可信的情况下,检测到信任第一终端的操作之后,显示连接码。
249.s213.在第二业务处理模块确定第一终端以及第二终端间不可信的情况下,通知第一业务处理模块设备间不可信。
250.s214.第一业务处理模块获取连接码,并检测到连接操作。
251.s215.第一业务处理模块设置设备群组的参数,并向第一设备可信互联模块发起
创建设备群组的指令。
252.s216.第一设备可信互联模块创建设备群组,生成第一设备群组信息,该第一设备群组信息中包括设备群组id。
253.s217.第一设备可信互联模块向第一业务处理模块返回设备群组id。
254.s218.第一业务处理模块向第一设备可信互联模块发起添加第二终端为可信设备的指令,该指令中携带了设备群组id以及第二终端的设备id。
255.s219.第一设备可信互联模块向第二设备可信互联模块发送加入至设备群组的邀请,该邀请中携带了设备群组id以及第一终端的设备id。
256.s220.第一设备可信互联模块与第二设备可信互联模块基于连接码协商第一会话密钥,利用第一会话密钥交换设备身份凭证。
257.s221.第一设备可信互联模块添加第二终端到第一设备群组信息中。
258.s222.第二设备可信互联模块生成第二设备群组信息,并添加第一终端到第二设备群组信息中。
259.其中,步骤s201-步骤s222中涉及的过程分别与前述s101-步骤s122的过程相同,可以参考前述对步骤s101-步骤s122的相关描述,此处不再赘述。
260.s223.第一设备可信互联模块通知第一业务处理模块添加第二终端成功。
261.该步骤s223中涉及的过程分别与前述s124的过程相同,可以参考前述对步骤s124的相关描述,此处不再赘述。
262.s224.第二设备可信互联模块通知第二业务处理模块添加第一终端成功。
263.该步骤s224中涉及的过程分别与前述s125的过程相同,可以参考前述对步骤s125的相关描述,此处不再赘述。
264.s225.第一业务处理模块向第一设备可信互联模块发起设备认证的指令,该指令中携带了设备群组id、第二终端的设备id。
265.该步骤s225中涉及的过程分别与前述s126的过程相同,可以参考前述对步骤s126的相关描述,此处不再赘述。
266.s226.第一设备可信互联模块向第二设备可信互联模块发送在设备群组id对应的设备群组上对第一终端进行设备认证的认证通知。
267.该步骤s226中涉及的过程分别与前述s127的过程相同,可以参考前述对步骤s127的相关描述,此处不再赘述。
268.s227.第二设备可信互联模块在没有写入操作的情况下,在第二设备群组中查询到第一终端的设备id。
269.第二设备可信互联模块接收到设备群组id对应的设备群组上认证第一终端的通知之后,基于设备群组id以及第一终端的设备id,检测当前是否存在写入操作,该写入操作对应的内容与设备群组id和/或第一终端的设备id相关。在不存在该写入操作的情况下,在第二设备群组信息中查询到第一终端的设备id,则执行下述步骤s228协商第二会话密钥,该查询过程可以参考前述对步骤s128的描述,此处不再赘述。
270.在一种可能的实现方式中,如果存在写入操作,则等待写入操作完成之后,再进行在第二设备群组信息中查询第一终端的设备id,如果查询到第一终端的设备id,则确定设备认证成功。
271.在另一种可能的实现方式中,如果存在写入操作,则设置一段时间(该一段时间可以为200s,根据实际情况进行调整,不构成对本技术实施例的限定)后再重新检测是否还存在写入操作,确定没有写入操作之后,在第二设备群组信息中查询第一终端的设备id,重新查询是否包括第一终端的设备id,如果查询到第一终端的设备id,则执行下述步骤s228协商第二会话密钥。
272.s228.第一设备可信互联模块与第二设备可信互联模块基于第一终端以及第二终端的设备身份凭证,协商出第二会话密钥,则设备认证通过。
273.该步骤s228中涉及的过程分别与前述s129的过程相同,可以参考前述对步骤s129的相关描述,此处不再赘述。
274.s229.第一设备可信互联模块通知第一业务处理模块设备认证成功,并发送第二会话密钥至第一业务处理模块。
275.该步骤s229中涉及的过程分别与前述s130的过程相同,可以参考前述对步骤s130的相关描述,此处不再赘述。
276.s230.第二设备可信互联模块发送第二会话密钥至第二业务处理模块。
277.该步骤s230中涉及的过程分别与前述s131的过程相同,可以参考前述对步骤s131的相关描述,此处不再赘述。
278.s231.第一业务处理模块以及第二业务处理模块基于第二会话密钥加对投屏涉及的数据进行加密,并发送该加密后的数据。
279.该步骤s231中涉及的过程分别与前述s132的过程相同,可以参考前述对步骤s132的相关描述,此处不再赘述。
280.下面详细描述第一终端与第二终端进行投屏时的一个示例性流程图。
281.图6示出了本技术实施例中投屏方法的一个示例性流程图。
282.在一些实施例中,该投屏方法适用于在第一终端向第二终端发起投屏时,第一终端与第二终端间不可信时,需要将对端设备添加至设备群组信息中,成为可信设备,才可以进行投屏的情况下。应该理解的是,不可信是指第一终端不为第二终端的可信设备和/或第二终端不为第一终端的可信设备。
283.如图6所示,该方法包括:s301.第一终端检测到投屏操作。
284.第一终端检测到的投屏操作通常是用户触摸投屏控件时的操作。第一终端检测到投屏操作时涉及的一个用户界面可以参考前述图1b中的用户界面11,其中投屏控件可以为控件111a。
285.投屏控件为第一终端发起投屏的入口,其表现形式包括但不限于图标、文字等。该投屏控件可以设置在以下位置,但不限定于以下位置:(1)可以设置在第一终端安装的应用所提供的用户界面中,该应用为支持投屏的应用,使得第一终端可以发起应用内投屏,该应用可以包括视频应用、图库应用等,其中,视频应用支持第一终端将视频投屏到第二终端,图库应用支持第一终端将图片投屏到第二终端。关于该应用内投屏的详细内容可以参考前述对该应用内投屏的描述,此处不再赘述。
286.(2)可以设置在第一终端的通知栏中,例如前述用户界面111中的无线投屏控件111a。使得第一终端可以通过通知栏中的无线投屏控件发起投屏,该过程的详细描述可以
参考前述对图1a-图1j的描述。
287.(3)该投屏控件可以为第二终端的nfc标签,当第一终端的nfc感应区域和该nfc标签接触之后,可以和第二终端建立连接,实现投屏。
288.s302.第一终端选择与第二终端进行投屏。
289.第一终端选择与第二终端进行投屏的过程可以参考但不限定于以下内容:在一些实施例中,第一终端进行扫描发现设备,得到可用设备,该可用设备中包括第二终端,该第一终端可以将可用设备进行显示,响应于在第二终端对应的设备选项上的操作(例如点击操作),第一终端选择与第二终端进行投屏。该过程涉及的一种可能的实现方式可以参考前述对步骤s102-步骤s106的描述,此处暂不赘述。
290.其中,在一些实施例中,将可用设备进行显示的用户界面可以参考前述图1d中示出的用户界面14,设备选项可以包括设备选项132a以及设备选项132b。该设备选项中可以显示可用设备的名称,该设备的名称可以是第二终端中设备的,用于表示该第二终端,也可以是第一终端根据第二终端的标识(例如设备id)进行设置的。
291.在另一些实施例中,第一终端与第二终端都具有nfc功能且该功能开启的情况下,第一终端可以利用nfc感应区域与该第二终端的nfc标签接触,即可选择与第二终端进行投屏。
292.s303.第二终端确定第一终端与第二终端不可信。
293.第二终端确定第一终端与第二终端中至少一个终端不是对端设备的可信设备,则可以确定第一终端与第二终端不可信。
294.在一种可能的实现中,第二终端获取第一终端的第一查询结果,该第一查询结果为第一终端确定的第二终端是否可信的结果,该第一查询结果包括可信和不可信,可信是指第二终端可信,不可信是指第二终端不可信。且,第二终端确定第一终端是否可信,得到第二查询结果,该第二查询结果包括可信和不可信,可信是指第一终端可信,不可信是指第一终端不可信。然后,第二终端基于该第一查询结果以及第二查询结果确定第一查询结果和/或第二查询结果不可信的情况下,则确定第一终端以及第二终端间不可信。
295.在第二终端确定第一终端与第二终端不可信的情况下,第二终端可以弹出一个提示框,该提示框中可以包括提示内容,该提示内容用于询问用户是否同意第二终端与第一终端建立连接,进行投屏。响应于同意与第一终端建立连接的操作,第二终端还可以显示连接码,该过程涉及的示例性用户界面可以参考前述对图1f以及图1g的描述。
296.应该理解的是,第二终端确定第一查询结果和第二查询结果都为可信的情况下,则确定第一终端以及第二终端间可信,就可以协商投屏时涉及的会话密钥,进行投屏了。
297.s304.第二终端通知第一终端设备间不可信,并发送进行投屏所需的连接码。
298.该连接码可以用于交换设备身份凭证,在设备间可信之后,协商投屏时涉及的会话密钥。在一种可能的情况下,第二终端通知第一终端设备间不可信,并发送进行投屏所需的连接码至第一终端。
299.上述步骤s304中,第二发送进行投屏所需的连接码是可选的,第二终端可以对连接码进行显示,但不用发送至第一终端。
300.应该理解的是,当第一终端与第二终端之间不可信时,才需要使用连接码称为可信设备,一个终端(包括第一终端与第二终端)的可信设备为不需要连接码即可与对端设备
进行投屏的设备。第一终端获取连接码之后,可以向第二终端发送添加该第一终端为可信设备的请求,同时该第一终端将第二终端添加为可信设备。其中,第一终端向第二终端发送添加该第一终端为可信设备的请求可以为加入设备群组的请求,该过程的详细内容可以参考下述步骤s305及步骤s306。
301.s305.第一终端创建设备群组,生成第一设备群组信息,该第一设备群组信息中的设备为第一终端的可信设备。
302.该第一设备群组信息用于记录第一终端中设备群组的全部信息,该第一设备群组信息中可以包括第一设备群组数据,以及设备群组id与第一可信设备列表的对应关系。
303.其中,该第一设备群组数据中至少包括设备群组id,该设备群组id用于表示该第一设备群组信息。该第一设备群组数据中还可以包括设备群组的参数(部分或者全部),该设备群组参数与设备群组id对应。
304.第一可信设备列表用于记录第一终端的可信设备,该第一可信设备列表中的一个数据项即为一个终端的信息。关于终端的信息可以参考前述相关内容的描述,此处不再赘述。
305.第一终端在确定设备间不可信之后,可以创建设备群组,生成该设备群组的参数以及设备群组的设备群组id,该设备群组id用于唯一表示设备群组,该设备群组的参数可以包括业务标识和/或群组名,还可以包括其他参数,例如群组类型或群组访问白名单等,关于该设备群组的参数的详细描述可以参考前述s115中对该设备群组的参数的详细描述,此处不再赘述。该设备群组的设备群组id用于表示该设备群组,该设备群组的参数与设备群组id对应。
306.该步骤s305的一种实现方式可以参考前述对步骤s114-步骤s118中相关内容的描述。
307.在一种可能的情况下,该第一终端在确定设备间不可信之后,生成第一设备群组信息之前,还可以获取连接码并显示连接码,并检测到建立连接的操作,该过程涉及的示例性用户界面可以参考前述图1h及图1i的相关描述。
308.其中,第一终端获取的连接码可以是第二终端发送的,例如在前述涉及的s304中,第二终端在通知第一终端设备间不可信时,可以携带连接码,第一终端接收到该连接码之后,可以将其显示在用户界面中,不需要用户通过第一终端输入。第一终端获取的连接码还可以是用户通过第一终端输入的。
309.第一终端在创生成第一设备群组信息之后,可以添加第二终端至该第一设备群组信息中,使得该第二终端成为第一终端的可信设备,且,第二终端可以建立一个与第一设备群组信息具有相同设备id的第二设备群组信息,将第一终端添加至该第二设备群组信息,使得该第一终端称为第二终端的可信设备,在添加对端设备称为可信设备之前,该第一终端还需要与该第二终端交换身份凭证。该过程可以参考下述对步骤s306-步骤s309的描述。
310.s306.第一终端向第二终端发送添加至设备群组的请求,该请求中携带了第一终端的设备id以及设备群组id。
311.该请求用于请求第二终端加入设备群组,与第一终端互成为可信设备。
312.该请求中还可以携带部分或者全部设备群组的参数。
313.s307.第一终端与第二终端基于连接码交换设备身份凭证。
314.该设备身份凭证可以为终端(包括第一终端与第二终端)的认证密钥,例如公密钥和/或私密钥,该设备身份凭证可以用于生成进行投屏时涉及会话的会话密钥,该投屏时涉及会话的会话密钥可以用于加密投屏时涉及的数据,保证投屏时数据传输的安全性,例如,该投屏时涉及会话的会话密钥可以为下述步骤s314中的投屏时涉及的会话密钥。
315.第一终端与第二终端基于连接码协商第一会话密钥,该第一会话为第一终端与第二终端交换设备身份凭证的会话。第一会话密钥可以用于加密交换设备身份凭证,第一终端与第二终端可以基于该第一会话密钥将本段设备的身份凭证进行加密,然后发送至对端设备,第一终端与第二终端还可以基于该第一会话密钥对接收到的对端设备的身份凭证进行解密。该过程涉及的详细内容可以参考前述对步骤s120的描述。
316.s308.第一终端添加第二终端至第一设备群组信息中。在一些实施例中,第一终端可以将该第二终端的信息添加至与该第一设备群组信息中的设备群组id对应的第一可信设备列表中,该第一可信设备列表中的一个数据项即为一个终端的信息,例如,第二终端的信息就是其中的一个数据项。该第二终端的信息可以包括第二终端的设备id,还可以包括添加第二终端到第一设备群组信息中的时间,该第二终端的信息中还可以包括其他的内容,例如该第二终端的权限以及与第一终端进行投屏时优先级,本技术实施例对此不作限定。
317.该步骤s308的一种实现方式可以参考前述对步骤s121的描述。
318.s309.第二终端生成第二设备群组信息,其与第一设备群组信息具有相同设备群组id,并添加第一设备至该第二设备群组信息中。
319.该第二设备群组信息用于记录第二终端中设备群组的全部信息,该第二设备群组信息中可以包括第二设备群组数据,以及设备群组id与第二可信设备列表的对应关系。
320.其中,该第二设备群组数据中至少包括设备群组id,该设备群组id用于唯一表示该第二设备群组信息。该第二设备群组数据中还可以包括设备群组的参数(部分或者全部),该设备群组参数与设备群组id对应。
321.第二可信设备列表用于记录第二终端的可信设备,该第二可信设备列表中的一个数据项即为一个终端的信息。
322.第二终端生成第二设备群组信息,该第二设备群组信息中的设备为该第二终端的可信设备,该第二设备群组信息与第一设备群组信息的设备群组id相同。
323.在一些实施例中,第二终端可以将该第一终端的信息添加至与该第二设备群组中信息的设备群组id对应的第二可信设备列表中,该第二可信设备列表中的一个数据项即为一个终端的信息,例如,第一终端的信息就是其中的一个数据项。该第一终端的信息可以包括第一终端的设备id,还可以包括添加第一终端到第二设备群组信息中的时间,该第一终端的信息中还可以包括其他的内容,例如该第一终端的权限,本技术实施例对此不作限定。
324.该步骤s309的一种实现方式可以参考前述对步骤s122的描述。
325.s310.第二终端通知第一终端设备添加成功。
326.该设备添加成功通知可以被称为第一添加成功通知。
327.第二终端向第一终端发送添加成功通知,该添加成功通知用于通知第一终端设备添加成功。所述第一终端接收该添加成功通知之后。
328.设备添加成功是指第二终端完成添加第一设备成为可信设备。
329.s311.第一终端确定第二终端添加至第一设备群组信息中成功。
330.第一终端添加第二终端至第一设备群组信息中成功,即为第一终端添加第二终端为可信设备完成。
331.第一终端可以通过以下方式确定第二终端添加至第一设备群组信息成功:方式1:在一些实施例中,第一终端在完成第二终端添加至第一设备群组信息之后,以及,接收到第二终端发送的设备添加成功的通知之后,才可以确定第二终端添加至第一设备群组信息成功。在该实施例中,一些可能的情况下,第一终端在完成第二终端添加至第一设备群组信息之后,如果在第一预设时间内没有接收到第二终端设备添加成功的通知,则可以确定第二终端添加至第一设备群组信息成功,该方式1中,步骤s311在步骤s310执行之后才可以执行。
332.方式2:在一些实施例中,第一终端在完成第二终端添加至第一设备群组信息之后,可以确定第二终端添加至第一设备群组信息成功,该方式1中,步骤s111与步骤s110的执行顺序没有先后之分。
333.s312.第一终端向第二终端发起对第一终端进行设备认证的认证通知。
334.第一终端向第二终端发起认证通知,该通知中可以携带进行设备认证涉及的设备群组的设备群组id,以及要认证的终端的设备id,即包括设备群组id以及第一终端的设备id。
335.该认证通知用于使得第二终端在确定第二设备群组信息中包括第一终端时与第一终端协商投屏时涉及的会话密钥,该过程可以参考下述对步骤s314的描述,此处暂不赘述。
336.如果步骤s311中,第一终端通过方式1确定第二终端添加至第一设备群组信息成功,则该步骤s312的执行时机可以为:在第一终端确定第二终端添加至第一设备群组信息成功之后,即步骤s311之后,第一终端可以向第二终端发起认证通知,通知第二终端认证第一终端是否可信。
337.如果步骤s311中,第一终端通过方式2确定第二终端添加至第一设备群组信息成功,则该步骤s312的执行时机可以为:在第一终端确定第二终端添加至第一设备群组信息成功之后且接收到第二终端发送的设备添加成功的通知之后,即步骤s111及步骤s110都完成之后,第一终端可以向第二终端发起认证通知,通知第二终端认证第一终端是否可信。采取此执行时机的情况下,在一些可能的情况下,如果第一终端确定第二终端添加至第一设备群组信息成功之后,在第二预设时间内没有接收到第二终端发送的设备添加成功的通知,则可以向第二终端发起认证通知。
338.s313.第二终端在第二设备群组信息中查询到第一终端。
339.第二终端基于设备群组id与第一终端的设备id,查询与该设备群组id对应的设备群组信息,即第二设备群组信息中,是否包括第一终端。
340.第二终端首先根据设备群组id,确定该设备群组id对应的第二设备列表,然后,查询该第二可信设备列表中,包括第一终端的设备id,则确定查询到了第一终端。
341.应该理解的是,在第二可信设备列表中,没有查询到第一终端的设备id的情况下,则确定设备认证失败,该第二终端确定设备认证失败之后,将设备认证失败的结果返回给第一终端,该第一终端确定认证失败之后,可以显示一个提示框,提示用户连接失败,无法
发起投屏。
342.s314.第一终端与第二终端基于设备身份凭证,完成协商投屏时涉及的会话密钥,则确定设备认证通过。
343.投屏时涉及的会话密钥即为前述步骤s129中涉及的第二会话密钥,步骤s314的一种实现方式可以参考前述对步骤s129的描述,此处不再赘述。
344.该投屏时涉及的会话密钥对投屏涉及的数据进行加密以及解密。例如第一终端可以将投屏涉及的数据进行,例如视频、图片等,利用第二会话密钥加密,然后发送至第二终端,第一终端还可以利用该投屏时涉及的会话密钥解密数据,该数据包括第二终端发送的数据。
345.在一种可能的实现方式中,第一终端与第二终端可以基于对端设备的设备身份凭证利用安全令牌服务(securitytokenservice,sts)协议协商投屏时涉及的会话密钥,该过程为:第一终端基于第二终端的设备身份凭证利用sts协议生成第一临时会话密钥并发送至第二终端,第二终端基于第一终端的设备身份凭证利用sts协议生成第二临时会话密钥并发送至第一终端,第一终端确定第一临时会话密钥以及第二临时会话密钥一致的情况下,则确定设备认证通过。
346.s315.第一终端或第二终端基于该投屏时涉及的会话密钥发送数据,进行投屏。
347.第一终端或第二终端可以将投屏涉及的数据利用第二会话密钥进行加密,并发数至对端设备,也可以利用该第二会话密钥将接收的数据进行解密。
348.应该理解的是,前述步骤s308与步骤s309的执行顺序没有先后之分,可以先执行步骤s308,也可以先执行步骤s309,还可以同时执行。
349.应该理解的是,前述步骤s305-步骤s311中,第一终端与第二终端之间可以不通过建立设备群组的方式成为可信设备。还可通过其他的方式成为可信设备,例如,第一终端在获取连接码之后,可以向第二终端发送与第二终端交换设备身份凭证,成为可信设备的请求。即步骤s304之后,第一终端向第二终端发送交换设备身份凭证的请求,然后,第一终端与第二终端基于该连接码协商第一会话密钥,利用第一会话密钥交换设备身份凭证。第一终端添加第二终端成为可信设备的方式为:将第二终端的设备身份凭证与第二终端的信息的对应关系写入到数据库中,第二终端添加第一终端成为可信设备的方式为:将第一终端的设备身份凭证与第二终端的信息的对应关系写入到数据库中。第二终端完成添加第一终端为可信设备之后,即可执行步骤s310向第一终端发送设备添加成功通知。第一终端在接收到该通知之后,即可确定添加第二终端成功,然后向第二终端发起设备认证的认证通知,第二终端在数据库中查询到第一终端的信息之后,即可执行步骤s314与第一终端协商投屏时涉及的会话密钥,确定设备认证通。然后与第一终端可以与第二终端基于该投屏时涉及的会话密钥进行投屏。此时,第一终端可以将第一用户界面中的数据基于投屏时涉及的会话密钥进行加密发送至第二终端,第二终端接收到该数据之后,可以利用该投屏时涉及的会话密钥进行解密,然后将该数据显示在第二用户界面中,该第二用户界面为第二终端的一个用户界面。应该理解的是,该过程中涉及的与前述内容相似的部分可以参考对前述内容的描述,此处不再赘述。
350.下面介绍本技术实施例提供的示例性第一终端。
351.图7是本技术实施例提供的第一终端的硬件结构示意图。
352.第一终端可以是屏幕较小的设备,可以向电视发起投屏,例如手机或平板电脑等,本技术实施例对该第一终端的具体类型不作特殊限制。
353.应该理解的是,第一终端可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
354.第一终端可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
355.可以理解的是,本技术实施例示意的结构并不构成对第一终端的具体限定。在本技术另一些实施例中,第一终端可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
356.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
357.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
358.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口等。
359.第一终端的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
360.天线1和天线2用于发射和接收电磁波信号。第一终端中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
361.移动通信模块150可以提供应用在第一终端上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通
信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
362.调制解调处理器可以包括调制器和解调器。
363.无线通信模块160可以提供应用在第一终端上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),近距离无线通信技术(near field communication,nfc)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
364.在一些实施例中,第一终端的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得第一终端可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs)等。
365.第一终端通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
366.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd)。显示面板还可以采用有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等制造。在一些实施例中,第一终端可以包括1个或n个显示屏194,n为大于1的正整数。
367.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当第一终端在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
368.视频编解码器用于对数字视频压缩或解压缩。
369.npu为神经网络(neural-network ,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。
370.内部存储器121可以包括一个或多个随机存取存储器(random access memory, ram )和一个或多个非易失性存储器(non-volatile memory, nvm)。
371.外部存储器接口120可以用于连接外部的非易失性存储器,实现扩展第一终端的存储能力。外部的非易失性存储器通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部的非易失性存储器中。
372.第一终端可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
373.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器
110中。
374.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。第一终端可以通过扬声器170a收听音乐,或收听免提通话。
375.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当第一终端接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
376.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。
377.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。
378.陀螺仪传感器180b可以用于确定第一终端的运动姿态。
379.磁传感器180d包括霍尔传感器。第一终端可以利用磁传感器180d检测翻盖皮套的开合。
380.距离传感器180f,用于测量距离。第一终端可以通过红外或激光测量距离。在一些实施例中,拍摄场景,第一终端可以利用距离传感器180f测距以实现快速对焦。
381.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。第一终端通过发光二极管向外发射红外光。第一终端使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定第一终端附近有物体。当检测到不充分的反射光时,第一终端可以确定第一终端附近没有物体。第一终端可以利用接近光传感器180g检测用户手持第一终端贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
382.环境光传感器180l用于感知环境光亮度。
383.指纹传感器180h用于采集指纹。第一终端可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
384.温度传感器180j用于检测温度。在一些实施例中,第一终端利用温度传感器180j检测的温度,执行温度处理策略。
385.触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。
386.按键190包括开机键,音量键等。第一终端可以接收按键输入,产生与第一终端的用户设置以及功能控制有关的键信号输入。
387.本技术实施例中,该处理器110可以调用内部存储器121中存储的计算机指令,以使得第一终端执行本技术实施例中的投屏方法。
388.下面介绍本技术实施例提供的示例性第二终端。
389.图8是本技术实施例提供的第二终端的硬件结构示意图。
390.第二终端可以是电视,可以与第一终端进行投屏,例如第二终端可以是电视,本技术实施例对该第一终端的具体类型不作特殊限制。
391.应该理解的是,第二终端可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
392.第二终端可以包括:处理器122、存储器123、无线通信处理模块124、电源开关125、
有线lan通信处理模块126、usb通信处理模块127和显示屏128。其中:处理器122可用于读取和执行计算机可读指令。具体实现中,处理器122可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器122的硬件架构可以是专用集成电路 (asic)架构、mips架构、arm架构或者np架构等。
393.在一些实施例中,处理器122可以用于解析无线通信处理模块124和/有线lan通信处理模块126接收到的信号,如第二终端发送的视频通话请求、采集图像序列请求、处理视频流请求(3d降噪、编解码等)、传输视频流请求、播放视频流请求等。处理器122可以用于根据解析结果进行相应的处理操作,如根据写入数据的请求驱动存储器123写入数据等。
394.在一些实施例中,处理器122还可以用于生成无线通信处理模块124和/或有线lan通信处理模块126向外发送的信号,如响应设备扫描,返回设备id的信号等。
395.存储器123与处理器122耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器123可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器123可以存储操作系统,例如实时多任务操作系统(real time multi-tasking operation system,ucos)等嵌入式操作系统。存储器123还可以存储辅助输入程序,该辅助输入程序可用于与被辅助设备,辅助设备进行辅助输入,存储器123还可以存储设备群组信息,例如存储前述涉及的第二设备群组信息。
396.无线通信处理模块124可以包括蓝牙(bluetooth,bt)通信处理模块124a、wlan通信处理模块124b或nfc通信处理模块124c中的一项或多项,用于建立连接时的设备发现以及数据传输等。
397.无线通信处理模块124可用于建立连接时的设备发现以及数据传输等。例如第二终端可以在接收到第一终端发送的设备扫描的信息时,返回第二终端的设备id至第一终端,还可以在进行投屏时接收第一终端发送的数据,例如视频、图像等。
398.电源开关125可用于控制电源向第二终端的供电。
399.有线lan通信处理模块126可用于通过有线lan和同一个lan中的其他终端进行通信,还可用于通过有线lan连接到wan,可与wan中的设备通信。
400.usb通信处理模块127可用于通过usb接口(未示出)与其他设备进行通信。
401.显示屏128可用于显示视频、图像等。显示屏128可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled)显示屏,有源矩阵有机发光二极体(active-matrix organic light emitting diode,amoled)显示屏,柔性发光二极管(flexible light-emitting diode,fled)显示屏,量子点发光二极管(quantum dot light emitting diodes,qled)显示屏等。
402.本技术实施例中,该处理器122可以调用内部存储器123中存储的计算机指令,以使得第二终端执行本技术实施例中的投屏方法。
403.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前
述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
404.上述实施例中所用,根据上下文,术语“当

时”可以被解释为意思是“如果
…”
或“在

后”或“响应于确定
…”
或“响应于检测到
…”
。类似地,根据上下文,短语“在确定

时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定
…”
或“响应于确定
…”
或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
405.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘)等。
406.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1