我正在构建一个 flutter 应用程序,它需要随 http 请求一起发送用户代理信息。我正在使用http dart 包发送请求。如何在flutter中获取用户代理字符串并将其与http包一起使用?
我是通过调用flutter中的原生方法来完成的。首先你必须在android Main Activity中添加方法通道
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
new MethodChannel.MethodCallHandler() {
@Override
public void onMethodCall(MethodCall call, MethodChannel.Result result) {
if (call.method.equals("getUserAgent")) {
result.success(System.getProperty("http.agent"));
} else {
result.notImplemented();
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
然后getUserAgent()可以在 flutter 中调用方法,如下所示
Future<String> _getUserAgent() async {
try {
return await platform.invokeMethod('getUserAgent');
} catch (e) {
return 'Unknown';
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21660 次 |
| 最近记录: |