【发布时间】:2020-05-15 23:30:50
【问题描述】:
@RequiresApi(api = Build.VERSION_CODES.Q)
public void openSystemDialogToConnectToWifi(String ssid, ConnectivityManager.NetworkCallback callback) {
WifiNetworkSpecifier.Builder builder = new WifiNetworkSpecifier.Builder();
builder.setSsid(ssid);
builder.setWpa2Passphrase("secret");
WifiNetworkSpecifier wifiNetworkSpecifier = builder.build();
NetworkRequest.Builder networkRequestBuilder = new NetworkRequest.Builder();
networkRequestBuilder.addTransportType(NetworkCapabilities.TRANSPORT_WIFI);
networkRequestBuilder.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED);
networkRequestBuilder.addCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED);
networkRequestBuilder.setNetworkSpecifier(wifiNetworkSpecifier);
NetworkRequest networkRequest = networkRequestBuilder.build();
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
cm.requestNetwork(networkRequest, callback);
}
这是我用来从我的应用程序连接到新 Wifi 的代码。 我得到了一个 IP 地址,wifi 符号在状态栏中非常短暂地可见。 下一刻,Wifi-Symbol 消失,系统 Dialog 再次可见,连接 wifi。
当我调试回调时,它正在执行此顺序中的方法:
- 可用
- onCapabilitiesChanged
- onBlockedStatusChanged(阻止:假)
- onCapabilitiesChanged
- onLost
所有方法什么都不做(只需调用 super.method())
硬件:带有 Android Q 的 OnePLus 6
【问题讨论】:
-
我们看到了与 OnePlus 7T 非常相似的东西。你找到解决办法了吗?
-
尚未找到解决方案
-
你有解决办法吗?
-
嘿,你有什么解决办法吗?
标签: android android-10.0