亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android10如何解決自動連接WiFi問題

發布時間:2021-05-07 14:25:56 來源:億速云 閱讀:638 作者:小新 欄目:移動開發

這篇文章主要介紹Android10如何解決自動連接WiFi問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

說明:

本文主要說明掃碼之后自動連接WiFi的一些處理,掃碼的流程相對簡單,網上教程也比較多,對于目前Android各個版本也沒有太多變化。

問題描述:

最近在做項目的時候,發現以前的項目有掃描二維碼自動連接WiFi的功能,設備改了生成二維碼的方式,然后發現手機無法自動連接WiFi了。

問題原因:

經過代碼調試發現:(我都是真機調試)

wifiManager.addNetwork(WifiConfiguration);

在添加WiFi的時候,這行代碼始終返回-1,換用同事手機竟然神奇的可以連接,然后一臉蒙蔽,裂開了,不怕有問題,就怕有的有問題,有的沒問題。

問題解決:

區別:我測試手機 小米10 android Q(andorid 10)的系統,同事手機榮耀 android P的系統,大膽猜測是不是android 10又搞了什么奇怪的東西

根因:皇天不負有心人,上代碼:

/**
   * Add a new network description to the set of configured networks.
   * The {@code networkId} field of the supplied configuration object
   * is ignored.
   * <p/>
   * The new network will be marked DISABLED by default. To enable it,
   * called {@link #enableNetwork}.
   *
   * @param config the set of variables that describe the configuration,
   *      contained in a {@link WifiConfiguration} object.
   *      If the {@link WifiConfiguration} has an Http Proxy set
   *      the calling app must be System, or be provisioned as the Profile or Device Owner.
   * @return the ID of the newly created network description. This is used in
   *     other operations to specified the network to be acted upon.
   *     Returns {@code -1} on failure.
   *
   * @deprecated
   * a) See {@link WifiNetworkSpecifier.Builder#build()} for new
   * mechanism to trigger connection to a Wi-Fi network.
   * b) See {@link #addNetworkSuggestions(List)},
   * {@link #removeNetworkSuggestions(List)} for new API to add Wi-Fi networks for consideration
   * when auto-connecting to wifi.
   * <b>Compatibility Note:</b> For applications targeting
   * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return {@code -1}.
   */
  @Deprecated
  public int addNetwork(WifiConfiguration config) {
    if (config == null) {
      return -1;
    }
    config.networkId = -1;
    return addOrUpdateNetwork(config);
  }

這是WifiManager.class中addNetwork方法的描述,注意注釋中最后一行

{@link android.os.Build.VERSION_CODES#Q} or above, this API will always return {@code -1}.

android Q或者更高的版本,這個方法始終返回-1,至此問題原因分析完畢,接下來開始解決:官網一頓操作:Android 10 的新方案如下連接:https://developer.android.google.cn/guide/topics/connectivity/wifi-bootstrap

 代碼如下:

public void test()
  {
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q)
    {
      NetworkSpecifier specifier =
          new WifiNetworkSpecifier.Builder()
              .setSsidPattern(new PatternMatcher("此處WiFi名稱", PatternMatcher.PATTERN_PREFIX))
              .setWpa2Passphrase("此處WiFi密碼")
              .build();
 
      NetworkRequest request =
          new NetworkRequest.Builder()
              .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
              .removeCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
              .setNetworkSpecifier(specifier)
              .build();
 
      ConnectivityManager connectivityManager = (ConnectivityManager)
          context.getSystemService(Context.CONNECTIVITY_SERVICE);
 
      ConnectivityManager.NetworkCallback networkCallback = new ConnectivityManager.NetworkCallback() {
        @Override
        public void onAvailable(Network network) {
          // do success processing here..
        }
 
        @Override
        public void onUnavailable() {
          // do failure processing here..
        }
      };
      connectivityManager.requestNetwork(request, networkCallback);
      // Release the request when done.
      // connectivityManager.unregisterNetworkCallback(networkCallback);
    }
  }

注:我用的是WPA的 加密模式,親測可用。至此完結,撒花。

以上是“Android10如何解決自動連接WiFi問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淳安县| 张家港市| 禄劝| 枣强县| 邯郸市| 措勤县| 宁河县| 千阳县| 乌兰浩特市| 麻栗坡县| 丰顺县| 阿荣旗| 车险| 德阳市| 永康市| 城口县| 佳木斯市| 元谋县| 丹东市| 广水市| 佛山市| 日喀则市| 瓦房店市| 清新县| 犍为县| 民乐县| 育儿| 突泉县| 正蓝旗| 平利县| 遵义县| 将乐县| 梅河口市| 灵石县| 潞城市| 河间市| 凤冈县| 二连浩特市| 桦甸市| 光山县| 阿瓦提县|