專案在適配Android 10的程序中發現,同樣的代碼在oppo 和一加手機上面運行正常,在華為手機上面測驗發現,彈窗后點擊連接指定wifi,系統會馬上切換wifi,彈窗又會底部重新彈出
public void changeToWifiQ(Context context, final String wifiName, String wifiPwd){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
NetworkSpecifier specifier =
new WifiNetworkSpecifier.Builder()
.setSsidPattern(new PatternMatcher(wifiName, PatternMatcher.PATTERN_PREFIX))
.setWpa2Passphrase(wifiPwd)
.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);
}
}使用上面的代碼在華為手機上面連接彈窗會多次重復彈出
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/162203.html
標籤:Android
