Android Wifi开发——直连源码解析(十四)

        上一篇文章主要介绍了 WLAN 直连的 API 及应用开发流程,这一篇主要来看一看源码的实现。

一、初始化

源码位置:/packages/modules/Wifi/framework/java/android/net/wifi/p2p/WifiP2pManager.java

        通过 WLAN 框架注册应用。必须先调用此方法,然后再调用任何其他 WLAN P2P 方法。

public Channel initialize(Context srcContext, Looper srcLooper, ChannelListener listener) {
    Binder binder = new Binder();
    Channel channel = initializeChannel(srcContext, srcLooper, listener, getMessenger(binder, srcContext.getOpPackageName()), binder);
    return channel;
}
private Channel initializeChannel(Context srcContext, Looper srcLooper, ChannelListener listener, Messenger messenger, Binder binder) {
    if (messenger == null) return null;
    
    Channel c = new Channel(srcContext, srcLooper, listener, binder, this);
    if (c.mAsyncChannel.connectSync(srcContext, c.mHandler, messenger) == AsyncChannel.STATUS_SU

猜你喜欢

转载自blog.csdn.net/c19344881x/article/details/129933804