【发布时间】:2018-05-08 09:16:12
【问题描述】:
我有一个使用 Xamarin 在 C# 中创建的 Android 应用程序。
这本质上是一个带有一些附加功能的网络浏览器,现在我想添加一个选项来设置要使用的代理。在应用程序中,我使用 WebView 连接到网站。
我尝试从这个主题 (How can I set ProxySettings and ProxyProperties on Android Wi-Fi connection using Java?) 实施解决方案,但 WifiConfiguration 中没有 linkProperties。看起来是这样的:
private static Java.Lang.Object getField(Java.Lang.Object obj, String name)
{
Field f = obj.Class.GetField(name);
Java.Lang.Object o = f.Get(obj);
return o;
}
public void SetHttpProxy(string proxyServerAddress, int proxyServerInt)
{
try
{
var wifiManager = context.GetSystemService(Context.WifiService) as WifiManager;
if (!wifiManager.IsWifiEnabled)
return;
var configurationList = wifiManager.ConfiguredNetworks;
var cur = wifiManager.ConnectionInfo.NetworkId;
var configuration = configurationList.FirstOrDefault(conf => conf.NetworkId == cur);
getField(configuration, "linkProperties");
}
catch (Exception e)
{
throw;
}
}
【问题讨论】:
-
@ChaitanyaKumar 是 Java,而不是使用 Xamarin 的 C#。我不太了解 Java,所以我不知道从这个答案中是否有什么可以挽救的。
标签: c# android xamarin webview proxy