我正在尝试通过GPS功能获取用户的当前位置,
编写了一个实现的简单类 LocationListener
public class LocationManagerHelper implements LocationListener {
private static double latitude;
private static double longitude;
@Override
public void onLocationChanged(Location loc) {
latitude = loc.getLatitude();
longitude = loc.getLongitude();
}
@Override
public void onProviderDisabled(String provider) { }
@Override
public void onProviderEnabled(String provider) { }
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
public static double getLatitude() {
return latitude;
}
public static double getLongitude() {
return longitude;
}
}
通过一个简单的动作,我正在访问这些经度和纬度值
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/** create a TextView and write Hello World! */
TextView tv = new TextView(this);
LocationManager mlocManager =
(LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new LocationManagerHelper();
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
mlocListener);
if (mlocManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
tv.append("Latitude:- " + LocationManagerHelper.getLatitude()
+ '\n');
tv.append("Longitude:- " + LocationManagerHelper.getLongitude()
+ '\n');
} else {
tv.setText("GPS is not turned on...");
}
/** set the content view to the TextView */
setContentView(tv);
但是它总是返回0.0作为结果。无法找出问题所在。
您必须在onCreate()返回之后才能触发您的位置更新回调。如果您将经纬度变量初始化为虚拟值,则可能会看到您正在打印这些值。
在onLocationChanged中添加一些日志记录,以便可以看到它已被触发,然后仔细阅读有关回调和更新UI的android应用程序的工作方式。
还要确保您的应用程序在其清单中具有适当的权限。
本文向大家介绍Android实现Service获取当前位置(GPS+基站)的方法,包括了Android实现Service获取当前位置(GPS+基站)的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android实现Service获取当前位置(GPS+基站)的方法。分享给大家供大家参考。具体如下: 需求详情: 1)、Service中每隔1秒执行一次定位操作(GPS+基站) 2)、定位的
问题内容: 我正在尝试在android模拟器上使用gps,我有以下代码: 我在清单中添加了以下行: 并且我已经使用DDMS方法和geo fix方法设置了gps位置,但是当我运行代码时,我在Toast行上得到了一个NullPointerExeption,可能是因为loc为空。 我不知道错误在哪里…您能帮我吗? 更新! 感谢您的帮助,现在我使用以下代码,但没有收到任何错误,但是它不会在onChan
问题内容: 干杯,我正在尝试通过Android获取当前的GPS位置。我也遵循了这篇教程和Vogellas的文章。虽然没有用。使用LocationManager.NETWORK_PROVIDER时,无论我站在哪里,我总能得到51的纬度和9的经度。当使用LocationManager.GPS_PROVIDER时,我什么也没得到。 虽然使用GMaps时一切正常::S不知道为什么。如何像GMaps一样获取
问题内容: 关于基本的Android编程,我还有另一个问题: 如何访问GPS以获取正在运行该应用程序的手机的当前位置?检索信息需要多长时间?在这种情况下,GPS可能会被禁用,如何再次启用/禁用它。 必须在andorid清单中授予哪些权限? 问候和感谢您的回答, 诗丹 问题答案: 一些答案: 访问:请参见LocationManager和LocationListener。 权限:android.per
问题内容: 我在使用android定位系统的NETWORK提供程序获取当前位置坐标时遇到麻烦。 已经阅读了很多教程,并为我的项目实现了4到5个现有的类,所有这些类都给了我最后的坐标,而不是当前的坐标。 我很确定这个问题是我遗漏的根本问题,但是我无法理解到底是什么。 我现在正在使用的代码: 这是我的主要活动 这是我用于跟踪的课程: 这是我的AndroidManifest.xml 实际上,GPS定位工