双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

使用getLastKnownLocation()来获取location值为空的问题

绵羊mie 绵羊mie 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
public class MainActivity extends Activity {

private TextView positionTextView;
private LocationManager locationManager;
private String provider;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
positionTextView =(TextView)findViewById(R.id.position_text_view);


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,"No location provider to use",Toast.LENGTH_LONG).show();
return;
}
Location location=locationManager.getLastKnownLocation(provider);
if(location!=null)
{
//显示当前位置信息
showLocation(location);
}
else {
Toast.makeText(MainActivity.this,"Location为空",Toast.LENGTH_LONG).show();
}

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

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private void showLocation(Location location)
{
String currentPositionString="latitude is"+location.getLatitude()+"\n"+"longitude id"
+location.getLatitude();
positionTextView.setText(currentPositionString);
}
LocationListener locationListener =new LocationListener() {

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
showLocation(location);
}
};
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if(locationManager!=null)
{
//移除监听
locationManager.removeUpdates(locationListener);
}
}

}

使用gps定位将定位后的信息显示在textview上 但是定位方法为gps的时候location的值为空使用网络定位时就好用
...全文

相关推荐

用Android Location获取当前地理位置的方法

本篇文章小编为大家介绍,用Android Location获取当前地理位置的方法。需要的朋友参考下

weixin_38712899

Android开发—通过Location获取Address

Android开发—通过Location获取Address,获取手机一些信息

ghyu_jx

Android打开GPS导航并获取位置信息返回null解决方案

最近在做一个 Android 项目,需要用到GPS获取位置信息,从 API 查了一下,发现获取位置信息仅需极其简单的一句即可getLastKnownLocation(LocationManager.GPS_PROVIDER)郁闷的是一直为null,于是搜集整理下,晒出来与大家分享

weixin_38614287

Android开发之Location用法实例分析

本文实例讲述了Android开发中Location用法。分享给大家供大家参考,具体如下: Location 在Android 开发中还是经常用到的,如通过经纬度获取天气,根据Location 获取所在地区详细Address (比如Google Map 开发)等。而在Android 中通过LocationManager来获取Location .通常获取Location 有GPS 获取,WIFI 获取。 这边介绍一个简单的小Demo ,来教大家如何获取Location ,从而获取经纬度。 第一步:创建一个Android 工程命名为LocationDemo . 第二步:修改main.xml 代码如下

weixin_38659955

Android获取位置信息的方法

本文实例为大家分享了Android获取位置信息的具体代码,供大家参考,具体内容如下 1.位置服务的简介:位置服务,英文翻译为Location-Based Services,缩写为LBS,又称为定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供与空间位置相关的综合应用服务,基于位置的服务发展很迅速,涉及商务、医疗、工作和生活的各个方面,为用户提供定位、追踪和敏感区域警告等一系列服务。比如谷歌地图,百度地图,都需要通过位置服务。 2.Android平台下支持提供位置服务的API,在开发过程中主要用到LocationManager和LocationProviders对象:

weixin_38590996
评论 3
收藏 已收藏
分享
返回顶部
绵羊mie
Android 80,489 成员 91,371 内容