米三 wlan direct wlan密码忘了怎么办

4250人阅读
关于wifi direct
Wifi direct的连接
下面的图表示的是wifi direct的发现过程。
整个过程可以见下图。
关于android上的wifi direct
首先上层通过调用p2p manager的接口来实现p2p的使能,扫描,连接,群组的创建等等的功能。具体接口如下。
如上图所示,p2p的所有的处理都是在p2pservice中的p2pstatemachine中做处理的。具体的状态机的树形图如下所示:
& 首先是P2pDisabledState,当使能后,也就是发送了WifiP2pManager.ENABLE_P2P,所以接着就调用了
mWifiChannel.sendMessage(P2P_ENABLE_PENDING);
transitionTo(mWaitForWifiDisableState);
其中P2P_ENABLE_PENDING会调用到wifistatemachine中的
caseWifiP2pService.P2P_ENABLE_PENDING:
&&&&&&& mReplyChannel.replyToMessage(message,P2P_ENABLE_PROCEED);
会发回一个P2P_ENABLE_PROCEED的消息,接着状态转到WaitForWifiDisableState。所以他会处理case WifiStateMachine.P2P_ENABLE_PROCEED这条语句。执行
if(WifiNative.startP2pSupplicant()) {
&&&&& mWifiMonitor.startMonitoring();
&&&&& transitionTo(mP2pEnablingState);
这里就开启了p2p和wpa_supplicant的调用,然后wifi的monitor用来监听wpa_supplicant上报的事件。接着状态转移到了P2pEnablingState,在这里,如果p2p开启成功的话,也就是与wpa_supplicant的通信成功的话,wpa_supplicant就会上报一个事件,然后执行下面的语句:
caseWifiMonitor.SUP_CONNECTION_EVENT:
&&&&&&logd(&P2p start successful&);
&&&&&& transitionTo(mInactiveState);
这里p2p就使能完成了,状态进入到了InactiveState了。这时,如果要创建群组的话,那么就会调用到了caseWifiP2pManager.CREATE_GROUP:接着
if(WifiNative.p2pGroupAdd()) {
&&&& replyToMessage(message, WifiP2pManager.CREATE_GROUP_SUCCEEDED);
transitionTo(mGroupNegotiationState);
调用底层的p2p创建群组,然后状态转移到GroupNegotiationState 了。
&&&&&& 在P2pEnabledState,状态中,如果调用了DISCOVER_PEERS,就会调用
case WifiP2pManager.DISCOVER_PEERS:这条语句,接着调用到底层去处理。
if (WifiNative.p2pFind(timeout)) {
&&&&&&&replyToMessage(message, WifiP2pManager.DISCOVER_PEERS_SUCCEEDED);
如果成功了,那么就返回一个成功的消息。在P2pHandler中的handleMessage就会处理返回的消息了。
((ActionListener)listener).onSuccess();
具体的很多状态可以看下状态机的状态图。
A去连接B:&&
A device:
app层调用JAVA Manger的connect()函数(如果当前的设备不是p2p组的成员,那么这个函数就发送groupnegotiation请求;如果这个设备已经是p2p组的成员,或者自己创建了一个组通过createGroup(),那么这个函数就发送邀请请求),这个函数有个参数是WifiP2pConfig config,它包含了例如自己的MAC,用什么方式连接等一些信息。
通过JAVA Manger的中转,会到达JAVA Service层的P2pEnabledState状态下,这个状态下的处理函数收到WifiP2pManager.CONNECT后,通过调用 WifiNative.p2pConnect(mSavedConnectConfig, join),一层层往底层调用,调用会根据情况是否返回一个PIN。这样一个group negotiation请求就发送出去了。 如果返回PIN则通过
notifyWpsPin(pin, mSavedConnectConfig.deviceAddress),会以AlertDialog的方式显示出来。&
B device:
JAVA Service层处在InactiveState状态下,收到了来自底层的 WifiMonitor.P2P_GO_NEGOTIATION_REQUEST_EVENT消息,该消息表示有设备请求GO协商。 收到消息notifyP2pGoNegotationRequest(mSavedGoNegotiationConfig)函数被调用,该显示AlertDialog,用于用户同意或者取消GO
协商,如果对方是PIN方式,那么AlertDialog上面会有输入框显示,如果是PBC那么输入框就隐。
关于jni下面的调用,与wifi的类似,这里就不多做讲解了。
& & & 可以参见《》。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:195583次
积分:3152
积分:3152
排名:第4259名
原创:116篇
评论:185条
别驻足,梦想要不停追逐;别认输,熬过黑夜才有日出。要记住,成功就在下一步;路很苦,汗水是最美的书!
(6)(1)(7)(1)(2)(2)(2)(1)(3)(11)(4)(11)(2)(5)(12)(7)(16)(16)(7)【08-09 技术】盒子功能米联简介_小米吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
【08-09 技术】盒子功能米联简介收藏
米联是一种将手机上的数字媒体内容,无线投送到电视上播放的解决方案。米联旨在解决安卓手机(使用MIUI系统)、iPhone、iPad,以及个人电脑上的视频、图片、音乐等内容,通过无线连接的方式与电视互联互通。确保小米盒子与您的终端设备处于同一个局域网环境中,通过米联,就可以将您终端设备上的本地图片、视频、音乐*、以及在线观看的视频投送到电视大荧幕上。【使用小米手机如何实现米联?】系统要求: 1. 将小米手机的MIUI系统升级为最新的V4或者V5版本2. 确保手机与小米盒子处在同一个局域网环境中;投送照片:用手机自带的图库打开照片,进入全屏浏览模式,再点击流媒体界面的“投影”按钮,选择相应的“小米盒子”,就可以实现投放在投放过程中,点击手机图库右上角的三角"播放"按钮,可以开始自动幻灯播放。投送视频:对于本地视频或者在线视频,请使用MIUI自带的“视频播放器”播放,在播放器右下角会出现“米联”图标,点击按钮选择“小米盒子”,即可实现投放在投放过程中,点击“投影” 按钮,选择“本地手机”,就可以停止投放。手机遥控器:在小米应用商店中搜索"遥控器"即可下载小米盒子的手机遥控器应用。启动遥控器以后,会自动搜索同一个局域网内的小米盒子,如果发现就会自动连接上盒子。在投放过程中,点击“投影” 按钮,选择“本地手机”,就可以停止投放。注:目前手机遥控器应用可以在小米手机以及iPhone上使用。【其他Android手机如何使用米联?】小米盒子的米联功能兼容DLNA协议,只要Android手机安装了应用支持DLNA应用,如搜狐视频、腾讯视频、PPTV等,就可以推送到小米盒子上。以腾讯视频app为例【如何在电视上实时投影手机屏幕?】其实很简单,只需要盒子进入miracast界面,然后手机在wifi中点击Wlan Display,选择小米盒子就可以了。
就可以实现如下效果~P.S.乱入一下~~MI1和MI1S是不能使用米联的,因为硬件不支持Wlan Direct和Wlan Display,不过红米是可以使用米联的~红米虽然不支持Wlan Display,但是具备Wlan Direct,所以,使用红米也可以投射图片视频等【使用iPhone/iPad设备如何实现米联?】1.
确保iOS系统设备与小米盒子处在同一个局域网环境中;2.
用iOS系统设备自带的“照片”应用打开照片,进入全屏浏览模式,点击右上角的“Airplay”按钮,选择相应的“小米盒子”,就可以实现投放3.
使用iOS的“视频”应用,或第三方视频应用,如优酷、土豆、搜狐视频、奇艺视频、PPTV等,在全屏播放模式,点击“Airplay”按钮,选择”小米盒子“,即可实现投放;4.
在投放过程中,点击iOS系统设备流媒体界面的“Airplay”
按钮,选择“iPhone”或者“iPad”,就可以停止投放 。或退出应用程序,也能停止投放。 【使用PC如何实现米联?】1.
确保PC与小米盒子处在同一个局域网环境中。2.
使用支持DLNA的播放器软件,如Window7自带的”Windows Media Player“或三星”AllShare“,选择待播放的流媒体文件,点击鼠标右键,在“播放到”选项中选择相应的“小米盒子“,就可实现投放;3.
再在PC流媒体播放的界面,点击“停止”按钮,就可以停止投放。
二楼谢谢     -----我知道我是二楼 谢谢 不要告诉我我是那悲催的三楼
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 小米wlan direct 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信