gpt4 book ai didi

android - 无法获取当前设备位置

转载 作者:行者123 更新时间:2023-11-29 00:30:05 25 4
gpt4 key购买 nike

我正在尝试获取我的 Android 手机的当前位置并在 toast 中显示经度和纬度。这是我写的一个函数。在调试代码时,我发现控件永远不会进入 onLocationChanged 函数。

从下面的 android 文档看来,当我调用“locationMgr.requestLocationUpdates”时,它应该调用回调函数 onLocationChanged。但这似乎并没有发生在我的代码中。 http://developer.android.com/training/basics/location/currentlocation.html

我检查过我的手机是否开启了 GPS。我无法弄清楚以下代码有什么问题。请帮忙。

  public void getCurrentLocation(){
LocationManager locationMgr;
locationMgr = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

LocationListener listener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
// A new location update is received. Do something useful with it

String latitude = "latitude: " + location.getLatitude();
String longitude = "longitude: " + location.getLongitude();
String toastString = "location is" + latitude + "," +longitude;
Toast.makeText( getApplicationContext(),toastString,Toast.LENGTH_SHORT).show();

}
@Override
public void onProviderDisabled(String provider) {
// No code here
}

@Override
public void onProviderEnabled(String provider) {
// No code here
}

@Override
public void onStatusChanged(String provider, int status,Bundle extras)
{
// No code here
}
};

locationMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER,0, 0, listener);
}

我的 list 文件中也有以下两行。

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

感谢您的帮助。

我正在使用 Eclipse,我的手机(操作系统:Thuderbolt)的 API 级别为 15,目标为 4.0.4。

最佳答案

您无法获取位置的原因有多种。

1.) 如果您试图在模拟器上获取位置。然后你必须使用 DDMS 手动推送坐标。

2.) 如果您正在设备上查看它,但仍然无法获取位置信息。然后正如您所说,您希望从 GPS 获得它。然后你应该有晴空 View 来获得它。由于 GPS 接收器不能在屋顶或某些障碍物下工作。他们必须有天空景观。

3.) 您可以使用 wi-fi 或 cell-Tower 获取位置信息。如果位置准确性不是那么重要,您也可以选择最后已知位置。

我认为第二点可能会解决您的问题。

关于android - 无法获取当前设备位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16311852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com