Android,获取经纬度(wifi)和设备ID

标签 android latitude-longitude

有什么方法可以在不使用 GPS 的情况下从设备获取纬度和经度?我还想知道是否有办法获得某种序列号或类似的序列号。

谢谢

最佳答案

您可以使用 LocationManager 类的网络提供商属性获取基于网络/WIFI 的位置。

LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, listener);

其中 listener 是 android.location.LocationListener 类的实现。

对于你的第二个问题,你可以获得非常独特的 WIFI MAC 地址,虽然我不确定如果设备没有 WIFI 会发生什么。

WifiManager wm = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
String macAddress = wm.getConnectionInfo().getMacAddress();

请注意,这需要您将以下内容添加到您的 list 文件中

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

关于Android,获取经纬度(wifi)和设备ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4585151/

相关文章:

android - 在 Android 应用程序中获取当前经纬度

mysql - 在 MySQL 8 中使用点数据类型和 st_distance_sphere 查找最近的地方

android - 在 LG Optimus S 中找不到经纬度

c# - 如何在 C# 中存储对象的位置

android - 无法加载设置 .idea/workspace.xml

android - Flutter - 如何在其他小部件中访问 TextEditingController?

java - 使用屏幕驱动程序注入(inject)触摸事件

Android:Robolectric:如何使用本地数据库

android - 如何将一个布局组件的高度设置为与另一个组件的高度相同?

PHP 计算一个用户与其他用户的距离(一一计算)