Android系统服务--LocationManager

  1. getAllProviders:获取所有的定位方式
LocationManager lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
        List<String> list=lm.getAllProviders(); //获取所有的定位类型
        for(int i=0;i<list.size();i++)
        {
            Log.e("MainActivity",list.get(i));
        }

2.获取最佳定位方式

Criteria criteria = new Criteria();
        String provider=lm.getBestProvider(criteria,true);
        Log.e("MainActivity",provider);

3.实现简单的GPS定位功能

public class MainActivity extends AppCompatActivity {

    private TextView tvShow;

    LocationListener listener=new LocationListener() {
        @Override
        public void onLocationChanged(Location location) {
            tvShow.append("\n 经度:" + location.getLongitude());
            tvShow.append("\n 纬度:" + location.getLatitude());
        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onProviderDisabled(String provider) {

        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvShow=(TextView)findViewById(R.id.tvShow);
        LocationManager lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
        //判断是否已经添加权限
        PackageManager pm = getPackageManager();
        boolean permission = (PackageManager.PERMISSION_GRANTED ==
                pm.checkPermission("android.permission.ACCESS_FINE_LOCATION", "com.android.ebeijia.location"));

        //注册
        if(permission)
        {
            //获取最好的定位方式
            Criteria criteria1= new Criteria();
            String provider1=lm.getBestProvider(criteria1,true);
            lm.requestLocationUpdates(provider1, 3000, 8,listener);

        }
    }
}

4.移除Location监听

//解绑
        lm.removeUpdates(listener);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值