Android 开发笔记六 定位

1. LocationManager  (位置信息管理者): 

1   // 得到 LocationManager 定位管理者
3   LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

2. 需要创建一个 实现 LocationListener 接口的类,用来监听位置的变化,及位置提拱者状态变化等事件

 1     // 定义 LocationListener 位置改变监听器
 2     private class MyLoactionListener implements LocationListener {
 3 
 4         @Override
 5         public void onLocationChanged(Location location) {
 6             // 输出 位置的 经度值
 7             System.out.println(location.getLongitude());
 8             // 输出位置的伟度值
 9             System.out.println(location.getLatitude());
10         }
11 
12         @Override
13         public void onProviderDisabled(String provider) {
14             // TODO Auto-generated method stub
15             
16         }
17 
18         @Override
19         public void onProviderEnabled(String provider) {
20             // TODO Auto-generated method stub
21             
22         }
23 
24         @Override
25         public void onStatusChanged(String provider, int status, Bundle extras) {
26             // TODO Auto-generated method stub
27             
28         }
29         
30     }

3.设置 LocationManager 的 提拱者及 绑定位置变化监听器

1         // 设置Location服务提拱者,及LocationListener , 第二个参数为,最短的更新时间(毫秒),第三个是,最小的更新距离(米), 当然这两个参数越小越精确,但也同样最费电.要按照你的程序的实际处理的问题,来定义
2         locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 20, new MyLoactionListener());

  你还可以这样,来得到当前设备,所有的Location Provider 

1         // 输出得有的 Loaction 提拱者的名字 一般都是  gps ,network,...
2         List<String> providers = locationManager.getAllProviders();
3         
4         // 输出系统中所有的 Location Provider 的名字
5         for(Iterator<String> iterator = providers.iterator();iterator.hasNext();) {
6             System.out.println(iterator.next());
7         }

 

 

 

posted @ 2013-03-24 19:09  easyfrog  阅读(206)  评论(0编辑  收藏  举报