gpt4 book ai didi

android - 如何使用 ConnectivityManager 通过自定义(ssid 和密码)配置启动 wifi 热点?

转载 作者:行者123 更新时间:2023-11-29 01:03:23 24 4
gpt4 key购买 nike

我需要使用自定义 ssid 和密码创建一个 wifi 接入点。我在网上看了看,大多数答案都是通过反射使用 WifiManger#setWifiApEnabled 的。但是当我检查 source它说 api 已被弃用,并且在它不启动访问点的方法内部也只是给出警告日志。

 @SystemApi
@Deprecated
@RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
public boolean setWifiApEnabled(WifiConfiguration wifiConfig, boolean enabled) {
String packageName = mContext.getOpPackageName();

Log.w(TAG, packageName + " attempted call to setWifiApEnabled: enabled = " + enabled);
return false;
}

在方法的描述中它说使用ConnectivityManager #startTethering。看起来它可以启动接入点,但我看不到我应该在哪里提供我的 WiFi 配置,因为该类适用于多种(蓝牙、lte 等)连接类型。

 @SystemApi
@RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
public void startTethering(int type, boolean showProvisioningUi,
final OnStartTetheringCallback callback, Handler handler) {
Preconditions.checkNotNull(callback, "OnStartTetheringCallback cannot be null.");

ResultReceiver wrappedCallback = new ResultReceiver(handler) {
@Override
protected void onReceiveResult(int resultCode, Bundle resultData) {
if (resultCode == TETHER_ERROR_NO_ERROR) {
callback.onTetheringStarted();
} else {
callback.onTetheringFailed();
}
}
};

try {
String pkgName = mContext.getOpPackageName();
Log.i(TAG, "startTethering caller:" + pkgName);
mService.startTethering(type, wrappedCallback, showProvisioningUi, pkgName);
} catch (RemoteException e) {
Log.e(TAG, "Exception trying to start tethering.", e);
wrappedCallback.send(TETHER_ERROR_SERVICE_UNAVAIL, null);
}
}

我还希望我的应用程序支持最小 api 16 (jellybean) 和最大 oreo。或者我应该强制用户设置 Wifi 网络?

最佳答案

我认为无法在 oreo 或更高版本上启动自定义 wifi 热点。有一个名为 ShareIt 的文件传输应用程序,它在接收模式下启动自定义 wifi 热点。如果在 oreo 上运行,它会创建一个名称通常为 Android-blah 的热点和一个随 secret 码,并要求发件人手动输入该密码以发送该文件。可能是 android 强制/建议其开发人员使用其他无线技术(如 Wifi direct)来执行此类操作。

关于android - 如何使用 ConnectivityManager 通过自定义(ssid 和密码)配置启动 wifi 热点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49333320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com