【发布时间】:2020-10-22 02:07:20
【问题描述】:
我正在尝试获取 API 28 中的当前 WiFi HTTP 代理设置。
代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText1 = (EditText)findViewById(R.id.editText1);
EditText editText2 = (EditText)findViewById(R.id.editText2);
ConnectivityManager connectivityManager =
(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
ProxyInfo pi = connectivityManager.getDefaultProxy();
editText1.setText(pi != null ? pi.getHost() : "null");
WifiManager wifiManager =
(WifiManager)this.getSystemService(Context.WIFI_SERVICE);
pi = wifiManager.getConfiguredNetworks().get(0).getHttpProxy();
editText2.setText(pi != null ? pi.getHost() : "null");
}
}
配置代理时输出以下内容:
第二个文本字段由过度弃用的代码填充:
为什么不推荐使用的代码有效,但不推荐使用的代码无效?
我检查了一个旧的类似线程Getting WiFi proxy settings in Android,但它的建议太过时了,我无法使用外部库(此外,该线程中提到的库不再存在)。
PS:这里是wifi设置中的代理配置:
【问题讨论】: