安卓基于位置的服务学习整理

借助LocationManager类实现定位


在AndroidMainfest.xml声明权限

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

//实例化LocationManager

locationManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);

//获取可用的位置提供器

List<String> providerList=locationManager.getProviders(true);
        if(providerList.contains(LocationManager.GPS_PROVIDER)){
            provider=LocationManager.GPS_PROVIDER;
        }else if(providerList.contains(LocationManager.NETWORK_PROVIDER)){
            provider=LocationManager.NETWORK_PROVIDER;
            
        }else{
            Toast.makeText(this, "没有可用的定位",Toast.LENGTH_SHORT).show();
            return;
        }

//获取当前位置信息

location=locationManager.getLastKnownLocation(provider);

//显示位置

        if(location!=null){
            showLocation(location);
            
        }

//更新位置信息

locationManager.requestLocationUpdates(provider,5000, 1, locationListener);

//位置监听器      

LocationListener locationListener=new LocationListener() {
        
        
        @Override
        public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
            // TODO Auto-generated method stub
            
        }
        
        @Override
        public void onProviderEnabled(String arg0) {
            // TODO Auto-generated method stub
            
        }
        
        @Override
        public void onProviderDisabled(String arg0) {
            // TODO Auto-generated method stub
            
        }
        
        @Override
        public void onLocationChanged(Location arg0) {
            // TODO Auto-generated method stub
            showLocation(location);
        }
    };

//显示位置的实现

    private void showLocation(Location location){
        String currentLocation="纬度是"+location.getLatitude()+"\n"+"经度是"+location.getLongitude();
        positionTextView.setText(currentLocation);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值