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
# 经纬度
# 定位
# Android通过原生APi获取所在位置的经纬度
# android通过gps获取定位的位置数据和gps经纬度
# Android 通过当前经纬度获得城市的实例代码
# Android获取当前位置的经纬度数据
# Android获取经纬度计算距离介绍
# android手机获取gps和基站的经纬度地址实现代码
# Android简单获取经纬度的方法
# Android GPS获取当前经纬度坐标
# Android编程实现根据经纬度查询地址并对获取的json数据进行解析的方法
# Android通过原生方式获取经纬度与城市信息的方法
# 两种
# 弹出
# 来实现
# 时将
# 大家多多
# 移除
# setContentView
# super
# layout
# initView
# activity_main
# savedInstanceState
# onCreate
# void
# protected
# Bundle
# Override
# findViewById
# true
# getProviders
相关文章:
电商网站制作价格怎么算,网上拍卖流程以及规则?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
如何制作一个表白网站视频,关于勇敢表白的小标题?
移民网站制作流程,怎么看加拿大移民官网?
javascript基本数据类型及类型检测常用方法小结
建站之星如何一键生成手机站?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
北京制作网站的公司,北京铁路集团官方网站?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
实现虚拟支付需哪些建站技术支撑?
如何正确下载安装西数主机建站助手?
PHP 500报错的快速解决方法
如何配置IIS站点权限与局域网访问?
C++如何编写函数模板?(泛型编程入门)
如何快速搭建安全的FTP站点?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
如何配置FTP站点权限与安全设置?
建站之星安装失败:服务器环境不兼容?
定制建站流程步骤详解:一站式方案设计与开发指南
名字制作网站免费,所有小说网站的名字?
如何快速生成橙子建站落地页链接?
如何用5美元大硬盘VPS安全高效搭建个人网站?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
网站图片在线制作软件,怎么在图片上做链接?
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
建站主机类型有哪些?如何正确选型
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何高效配置香港服务器实现快速建站?
Swift开发中switch语句值绑定模式
内网网站制作软件,内网的网站如何发布到外网?
深圳网站制作平台,深圳市做网站好的公司有哪些?
外贸公司网站制作哪家好,maersk船公司官网?
如何基于云服务器快速搭建网站及云盘系统?
建站之星多图banner生成与模板自定义指南
安云自助建站系统如何快速提升SEO排名?
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
Android滚轮选择时间控件使用详解
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
在线教育网站制作平台,山西立德教育官网?
ui设计制作网站有哪些,手机UI设计网址吗?
制作证书网站有哪些,全国城建培训中心证书查询官网?
php json中文编码为null的解决办法
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何在建站之星绑定自定义域名?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
如何在宝塔面板中修改默认建站目录?
*请认真填写需求信息,我们会在24小时内与您取得联系。