1
回答
关于LocationManager的应用问题
滴滴云服务器,限时包月0.9元,为开发者而生>>>   
为什么我的代码获得不了相关的位置信息
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;
 
public class MainActivity extends Activity {
     
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String serviceString = Context.LOCATION_SERVICE;// 获取的是位置服务
        LocationManager locationManager = (LocationManager) getSystemService(serviceString);// 调用getSystemService()方法来获取LocationManager
        String provider =locationManager.NETWORK_PROVIDER;// 指定LocationManager的定位方法
        Location location = locationManager.getLastKnownLocation(provider);// 调用getLastKnownLocation()方法获取当前的位置信息
        getLocationInfo(location);// 获得经度和纬度的方法
        locationManager.requestLocationUpdates(provider, 2000, 10,
                locationListener);// 产生位置改变事件的条件设定为距离改变10米,时间间隔为2秒,设定监听位置变化
 
    }
 
    private void getLocationInfo(Location location) {
        String latLongInfo;
        TextView locationText = (TextView) findViewById(R.id.tv);//获取到布局文件里的TextView组件
        if (location != null) {
            double lat = location.getLatitude();//获取纬度
            double lng = location.getLongitude();//获取经度
            latLongInfo = "纬度为: " + lat + "\n经度为: " + lng;
        } else {
            latLongInfo = "没有发现到当前位置";
        }
        locationText.setText("你当前的位置是:\n" + latLongInfo);//为TextView文本视图赋值
    }
 
    /*
     * LocationListener监听器
     * 当位置发生改变时,会将最新的位置信息显示在界面上 
     */
    private final LocationListener locationListener = new LocationListener() {
 
        @Override
        public void onLocationChanged(Location location) {
            // TODO Auto-generated method stub
            getLocationInfo(location);
        }
 
        @Override
        public void onProviderDisabled(String arg0) {
            // TODO Auto-generated method stub
            getLocationInfo(null);
        }
 
        @Override
        public void onProviderEnabled(String arg0) {
            // TODO Auto-generated method stub
            getLocationInfo(null);
        }
 
        @Override
        public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
            // TODO Auto-generated method stub
 
        }
 
    };
}



举报
芒果味丶
发帖于1年前 1回/157阅
顶部