安卓6.0 ,第一行代码11章节,获取位置信息不显示
安卓6.0 ,获取位置信息,不显示
MainActivity.java
public class MainActivity extends AppCompatActivity {
private TextView positionTextView;
private LocationManager locationManager;
private String provider;
private Location location;
@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 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_SHORT).show();
return;
}
try {
location = locationManager.getLastKnownLocation(provider);
} catch (SecurityException e) {
e.printStackTrace();
}
if (location != null) {
showLocation(location);
}
try {
//实时更新地理信息
locationManager.requestLocationUpdates(provider, 5000, 1, locationListener);
} catch (SecurityException e) {
e.printStackTrace();
}
}
LocationListener locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
showLocation(location);
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
//设置positionTextView的值并显示
private void showLocation(Location location) {
String currentPosition = "latitude" + location.getLatitude() +
"\n" + "longitude is" + location.getLongitude();
positionTextView.setText(currentPosition);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (locationManager != null) {
//关闭程序时将监听器移除
try {
locationManager.removeUpdates(locationListener);
} catch (SecurityException e) {
e.printStackTrace();
}
}
}
}
XML布局
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.xhq.locationtest.MainActivity">
android:id="@+id/position_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
相关阅读:
单元格中元素捕获click,如何得到该单元格所在表格对象?
怎么获取七牛服务器的时钟?
Elasticsearch中如何搜索内容中的特殊字符串?
AndroidIOS如何同步WebView Cookie
Android 按钮clickable问题。
怎么用jQuery设置selectize的选定option?
mac下sublime text3的php错误提示插件php code sniffer安装后,无法显示php错误
html2canvas 如何生成高清图片?
求一个数字算法
web开发 500 inter server error详细日志找不到
scala actor库中的react比receive方法好在哪里?
jquery验证码倒计思路问题
node环境下如何创建服务器文件夹
关于tomcat&maven热部署的问题
php 只通过 filter 过滤用户输入,是否足够安全?
jquery append一个js文件,如何在载入完成执行回调?
Fragment 嵌套 Fragment 当子Fragment调用replace切换时,显示空白
微信订阅号有高级群发接口吗?
真机测试 报错
不用canvas,实现点中区域透明?