android如何获取经纬度
更新时间:2017年06月23日 15:10:22 作者:花落谁家2091572217
这篇文章主要为大家详细介绍了android获取经纬度的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
android 定位的两种方式:GPS_PROVIDER and NETWORK_PROVIDER
定位的可以借助LocationManager来实现
MainActivity代码
static final String TAG = "MainActivity"; private TextView locationTV; private LocationManager locationManager; private String provider; ArrayList<ContactModel> dataList = new ArrayList<ContactModel>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // initView(); locationTV = (TextView) findViewById(R.id.locaiton_tv); locationManager = (LocationManager) getSystemService(this.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提示用户 Toast.makeText(this, "No location provider to use", Toast.LENGTH_SHORT).show(); return; } Location location = locationManager.getLastKnownLocation(provider); if (location != null) { // 显示当前设备的位置信息 showLocation(location); } if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. return; } locationManager.requestLocationUpdates(provider, 5000, 1, locationListener); } private void showLocation(Location location) { String currentPosition = "latitude is " + location.getLatitude() + "\n"+ "longitude is " + location.getLongitude(); locationTV.setText(currentPosition); } @Override protected void onDestroy() { super.onDestroy(); if (locationManager != null) { if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // ActivityCompat#requestPermissions // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for ActivityCompat#requestPermissions for more details. return; } // 关闭程序时将监听器移除 locationManager.removeUpdates(locationListener); } } LocationListener locationListener = new LocationListener() { @Override public void onLocationChanged(Location location) { Toast.makeText(MainActivity.this,"onLocationChanged",Toast.LENGTH_SHORT).show(); } @Override public void onStatusChanged(String s, int i, Bundle bundle) { Toast.makeText(MainActivity.this,"onStatusChanged",Toast.LENGTH_SHORT).show(); } @Override public void onProviderEnabled(String s) { Toast.makeText(MainActivity.this,"onProviderEnabled",Toast.LENGTH_SHORT).show(); } @Override public void onProviderDisabled(String s) { Toast.makeText(MainActivity.this,"onProviderDisabled",Toast.LENGTH_SHORT).show(); } };
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Android实现底部半透明弹出框PopUpWindow效果
这篇文章主要为大家详细介绍了Android实现底部半透明弹出框PopUpWindow效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07Android ListView里控件添加监听方法的实例详解
这篇文章主要介绍了Android ListView里控件添加监听方法的实例详解的相关资料,这里提供实例帮助大家学习理解这部分内容,需要的朋友可以参考下2017-08-08Android应用开发中Fragment与Activity间通信示例讲解
这篇文章主要介绍了Android应用开发中Fragment与Activity间通信实例讲解,需要的朋友可以参考下2016-02-02Android自定义有限制区域的图例角度自识别涂鸦工具类完结篇
这篇文章主要为大家介绍了Android自定义有限制区域的图例角度自识别涂鸦工具类完结篇,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-02-02
最新评论