Android解决GPS定位时LocationManager只能绑定一个LocationListener的问题
16lz
2021-01-26
之前做项目时遇到了如题的小困难, 想了一个有点解决方法, 上周在济南发现有些初学者似乎在这里有点困扰, 就发出来供大家参考下.
首先自定义一个接口
public interface CRLocationListeneri {public void onLocationChanged(Location location);}
然后些一个类, 该类需要implements LocationListener从而代替android.location.LocationListener
public class CRLocationlistener implements LocationListener {private static final String TAG = "CRLocationlistener";private static ArrayList LocationListeneriList = new ArrayList(2);public void onLocationChanged(Location location) {// TODO Auto-generated method stubfor (i = 0; i < LocationListeneriList.size(); i++) {LocationListeneriList.get(i).onLocationChanged(location);}}public void onProviderDisabled(String provider) {// TODO Auto-generated method stub}public synchronized static void requestUpdates(CRLocationListeneri LocationListeneri) {LocationListeneriList.add(LocationListeneri);}public synchronized static void removeUpdates(CRLocationListeneri LocationListeneri) {LocationListeneriList.remove(LocationListeneri);}public void onProviderEnabled(String provider) {// TODO Auto-generated method stub}public void onStatusChanged(String provider, int status, Bundle extras) {// TODO Auto-generated method stub}}
之后就可以通过 locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, mLocationListener);CRMyLocationOverlay.enableMyLocation();
将其与多个Listener绑定, 分别对Location进行不同的处理了.
更多相关文章
- [置顶] android Activity和service深入介绍
- Android(安卓)Studio3.6新特性:视图绑定ViewBinding使用指南(Java
- Android(安卓)Notes 之 SlidingMenu的使用
- Android数据绑定组件RoboBinding使用详解
- Android手机应用开发(八) | 制作简单音乐播放器
- android通过蓝牙实现两台手机传输数据
- Android(安卓)Studio使用注解式框架Butterknife教程
- Android(安卓)ServiceConnection
- DataBinding使用指南(三):生成的binding类