如何解决如何获取我的热点的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
。然后我们可以立即获得SSID
和Password
。
例如, 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 举报,一经查实,本站将立刻删除。