如何在 Flutter (Dart) 中获取用户 IP 或国家? 我找不到。
以及如何导入这个库?
import 'package:location/location.dart';
最佳答案
要获取 IP 地址,您可以使用 dart:io 库。请注意,在回答此问题时,Android 似乎不受支持。
import 'package:flutter/material.dart';
import 'dart:io';
class GetIPScreen extends StatefulWidget {
@override
_GetIPScreenState createState() {
return new _GetIPScreenState();
}
}
class _GetIPScreenState extends State<GetIPScreen> {
String _ipAddress;
@override
Widget build(BuildContext context) {
return new Scaffold(
body: new Center(
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: new Text("IP Address: $_ipAddress"),
),
new RaisedButton(
child: new Text("Get IP"),
onPressed: () async {
debugPrint("pressed button");
if (NetworkInterface.listSupported) {
List<NetworkInterface> networkInterfaces = await NetworkInterface.list(
type: InternetAddressType.IP_V4
);
networkInterfaces.forEach((i) => debugPrint("name: ${i.name}, address: ${i.addresses}"));
setState(() {
_ipAddress = networkInterfaces[0].addresses.first.address;
});
} else {
setState(() {
_ipAddress = "Not Supported";
});
}
})
],
),
),
);
}
}
关于dart - Flutter 导入包/插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51148719/