色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

Android10自動連接WiFi問題的解決

瀏覽:2日期:2022-09-25 09:23:16

說明:

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

問題描述:

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

問題原因:

經(jīng)過代碼調(diào)試發(fā)現(xiàn):(我都是真機調(diào)試)

wifiManager.addNetwork(WifiConfiguration);

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

問題解決:

區(qū)別:我測試手機 小米10 android Q(andorid 10)的系統(tǒng),同事手機榮耀 android P的系統(tǒng),大膽猜測是不是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,至此問題原因分析完畢,接下來開始解決:官網(wǎng)一頓操作: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() {@Overridepublic void onAvailable(Network network) { // do success processing here..} @Overridepublic void onUnavailable() { // do failure processing here..} }; connectivityManager.requestNetwork(request, networkCallback); // Release the request when done. // connectivityManager.unregisterNetworkCallback(networkCallback); } }

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

到此這篇關(guān)于Android10自動連接WiFi問題的解決的文章就介紹到這了,更多相關(guān)Android10自動連接WiFi內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Android
相關(guān)文章:
主站蜘蛛池模板: 成人久久18免费网站游戏 | 在线观看中文字幕一区 | 国产日韩精品一区在线不卡 | 欧美一区二区在线免费观看 | 国产系列 视频二区 | 欧美成人久久久免费播放 | 久久国产精品永久免费网站 | 毛片的网址 | 精品国产亚一区二区三区 | 草草草在线 | 男女毛片免费视频看 | 性夜黄a爽爽免费视频国产 性夜影院爽黄a爽免费看网站 | 久久视频在线视频 | 日本成本人片 | 欧美日韩精品一区二区三区视频 | 久久精品亚洲精品一区 | 日本大臿亚洲香蕉大片 | 中文字幕欧美日韩一 | 日本高清久久 | 欧美在线成人午夜网站 | 国产美女拍拍拍在线观看 | 在线一区二区三区 | 日本b站一卡二不卡 | 久久免费视频网 | 全免费a级毛片免费看 | 欧美日一本| 久久视奸| 欧美成网站 | 久久久久久久久综合 | 第一色网站 | 成人免费网址在线 | 91看片淫黄大片.在线天堂 | 国产精品hd免费观看 | 欧美成人高清手机在线视频 | 韩国三级日本三级香港三级黄 | 国产无卡一级毛片aaa | 欧美一级第一免费高清 | 日本黄色美女网站 | 欧美午夜网站 | 久久免费成人 | 欧做爰xxxⅹ性欧美大 |