使用GPS定位的话,需要如下权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
如果使用WIFI接入点定位的话,需要如下权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
或者
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
首先使用
LocationManager lm=(LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1, 1, new TestListener());
获得一个LocationManager ,
requestLocationUpdates的第一个参数为获取定位的方法
LocationManager.GPS_PROVIDER和LocationManager.NETWORK_PROVIDER
第二个参数是最小更新的时间,以秒为单位,为了节省电量,这个值可能比你给的值大或者小
第三个参数是最小距离更新,以米为单位。
第四个参数是一个LocationListener监听器,实现监听器,就可以获得位置。实现监听器的接口
class TestListener implements LocationListener
{
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
Toast.makeText(LocationDemoActivity.this, location.getLatitude()+":"+location.getLongitude(), 1000).show();
System.out.println(location.getLatitude()+":"+location.getLongitude());
LocationDemoActivity.this.setTitle(location.getLatitude()+":"+location.getLongitude());
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
}
在这个监听器中就可以获得经纬度,获取了经纬度就知道设备在哪里了。