首页 > 解决方案 > 如何使用颤振获取 android/ios 设备的代理设置?

问题描述

我正在尝试使用颤振构建应用程序,我想知道如何通过颤振检索设备的代理设置。

标签: flutter

解决方案


假设 HttpClient 不会自动选择它可能是安全的,但您可能想要测试它。

因此,现在您需要使用plugins与本机代码进行交互。已经有一个丰富的插件,提供从电池电量到视频播放器的所有内容。我在任何地方都看不到代理,因此您需要编写自己的插件(这只是标准的颤振项目类型之一:应用程序、包(仅允许 Dart 代码)和插件)。插件有点像一个包(其他项目可以依赖它),但也包含本机代码。它还包括一个迷你应用程序,以便您可以在开发时测试您的插件代码。

您的插件最终将类似于现有的 Connectivity 插件,因此您可能需要从那里复制。在您的 Android 方法实现中,您将替换

NetworkInfo info = manager.getActiveNetworkInfo();

ProxyInfo defaultProxy = manager.getDefaultProxy();

你有返回两个值,主机名和端口,所以把它们放在一个 Map

Map<String, String> map = new HashMap<String, String>();
map.put("host", defaultProxy.getHost());
map.put("port", Integer.toString(defaultProxy.getPort()));
result.success(map);

如果您提交对 Connectivity 插件的更改,则会获得奖励积分。


推荐阅读