微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取我的热点的ssid和密码与接收者共享?

如何解决如何获取我的热点的ssid和密码与接收者共享?

我的问题是如何获取热点的ssid和密码与接收者共享?

您好,我正在开发xamarin形式的应用,以便彼此共享文件。 我成功打开和关闭了wifi和热点。 但是,当我打开热点时,它会使用我想知道的不同ssid和密码来打开热点,然后将其转换为条形码,以便接收器将扫描代码并连接到热点并共享文件。 我的代码运行得很好,但是不知道如何解决这个问题。

解决方法

我的代码

`public WifiManager.LocalOnlyHotspotReservation Mreservation {get;组; }

WifiManager wifi =(WifiManager)Android.App.Application.Context.GetSystemService(Context.WifiService); WifiManager.LocalOnlyHotspotCallback回调=新的WifiManager.LocalOnlyHotspotCallback(); wifi.StartLocalOnlyHotspot(callback,new Handler());`

,

您可以自定义 WifiManager.LocalOnlyHotspotCallback ,并且有一个onStarted方法可以获取WifiConfiguration。然后我们可以立即获得SSIDPassword

例如, CustomWifiManagerCallback 类如下:

public class CustomWifiManagerCallback: WifiManager.LocalOnlyHotspotCallback
{
    private const string TAG = nameof(myWifiManagerCallback);

    private MainActivity mainActivity;

    public CustomWifiManagerCallback(Activity _activity)
    {
        if (_activity.GetType() == typeof(MainActivity))
            mainActivity = (MainActivity)_activity;
    }

    public override void OnStarted(WifiManager.LocalOnlyHotspotReservation reservation)
    {
        base.OnStarted(reservation);
        Console.WriteLine( "Wifi Hotspot is on now");

        var ssid = reservation.WifiConfiguration.Ssid;
        var pwd = reservation.WifiConfiguration.PreSharedKey;
        Console.WriteLine("started SSID:" + ssid + " password:"+ pwd);
        mainActivity.Mreservation = reservation;
    }

    public override void OnFailed([GeneratedEnum] LocalOnlyHotspotCallbackErrorCode reason)
    {
        base.OnFailed(reason);
        Console.WriteLine( "onStopped: ");
    }

    public override void OnStopped()
    {
        base.OnStopped();
        Console.WriteLine( "onFailed: ");
    }
}

现在我们可以开始如下:

WifiManager wifi = (WifiManager)Android.App.Application.Context.GetSystemService(Context.WifiService);  
wifi.StartLocalOnlyHotspot(new CustomWifiManagerCallback(this),new Handler());

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。