Android获取GPS定位信息

private static String[] PERMISSIONS_STORAGE = {Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA,Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION};

//---------------------------GPS------------------------------------------------------------------ button_gps = (Button) root.findViewById(R.id.button_gps); button_gps.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub try { //button_gps.setTextColor(Color.rgb(255, 0, 0)); locationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); if (!isGpsAble(locationManager)) { Toast.makeText(getActivity(), "请打开Gps!", Toast.LENGTH_SHORT).show(); openGps(); } // 从gps获取最近的定位信息 if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(getActivity(), PERMISSIONS_STORAGE, 4); ActivityCompat.requestPermissions(getActivity(), PERMISSIONS_STORAGE, 5); return; } Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); StringBuilder sb =new StringBuilder(); sb.append("当前gps位置定位信息:\n"); sb.append("经度:"+location.getLongitude()+"\n"); sb.append("维度:"+location.getLatitude()+"\n"); sb.append("海拔:"+location.getAltitude()+"\n"); sb.append("速度:"+location.getSpeed()+"\n"); sb.append("方位:"+location.getBearing()+"\n"); sb.append("时间:"+location.getTime()+"\n"); sb.append("定位精度:"+location.getLongitude()+"\n"); Toast.makeText(getActivity(), sb.toString(), Toast.LENGTH_LONG).show(); } catch (Exception ex) { ex.printStackTrace(); } } });

  

    private boolean isGpsAble(LocationManager lm) {
        return lm.isProviderEnabled(LocationManager.GPS_PROVIDER)?true:false;
    }
    // 打开设置界面让用户自己设置
    private void openGps(){
        Intent intent = new Intent(Settings.ACTION_LOCALE_SETTINGS);
        startActivityForResult(intent,0);
    }

  

posted @ 2021-03-03 11:20  广州飞哥  阅读(982)  评论(0)    收藏  举报