小编Joh*_*es 的帖子

Android Q,WifiNetworkSpecifier 在建立连接后立即失去 Wifi

  @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);
}
Run Code Online (Sandbox Code Playgroud)

这是我用来从我的应用程序连接到新 Wifi 的代码。我得到了一个 IP 地址,wifi 符号在状态栏中非常短暂地可见。下一刻,Wifi-Symbol 消失,系统对话框再次可见,连接到 wifi。

当我调试回调时,它会按照以下顺序执行方法:

  1. 可用
  2. onCapabilitiesChanged
  3. onBlockedStatusChanged(阻止:false)
  4. onCapabilitiesChanged
  5. 失联

所有方法什么都不做(只需调用 super.method())

硬件:一加 6 与 Android Q

android android-10.0

10
推荐指数
1
解决办法
1316
查看次数

标签 统计

android ×1

android-10.0 ×1