【发布时间】:2015-02-02 04:46:07
【问题描述】:
我正在尝试获取用户当前位置,但我的 onLocationChanged 方法从未被调用。我还在 Manifest.xml 中添加了权限,但从未调用 onLocationChange 方法。 我打开了我设备的 GPS 并在两个不同的移动设备上尝试,但无法正常工作。 下面是我的代码 -
public class LocationAwareActivity extends Activity implements
LocationListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LocationManager locationManager = (LocationManager)
getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 1000, 1, this);
}
@Override
public void onLocationChanged(Location location) {
Toast.makeText(this, "Current onLocationChanged : "+location.getLatitude()+" , "+location.getLongitude(), Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Toast.makeText(this, "onStatusChanged", Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText(this, "onProviderEnabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(this, "onProviderDisabled", Toast.LENGTH_SHORT).show();
}
以下是 manifest.xml 的代码 -
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
TIA
【问题讨论】:
-
我认为问题可能是设备所在区域的卫星信号接收受到干扰。尝试去一些外部环境。我进行了实验,并在移动到空旷区域(我在建筑物内)后工作了
-
@DouglasFrari 谢谢,就是这样!
标签: android gps geolocation locationmanager