Android的接口回调使用案例(回调定位信息)

至于定位的配置之类的我就不多说,此篇文章重点在于接口回调

private static BDAbstractLocationListener mListener = new BDAbstractLocationListener() {
    @Override
    public void onReceiveLocation(BDLocation location) {
        if (null != location && location.getLocType() != BDLocation.TypeServerError) {
            switch (location.getLocType()) {
                case BDLocation.TypeGpsLocation:   // GPS定位结果
                case BDLocation.TypeNetWorkLocation:   // 网络定位结果
                    Map<String, Object> locationInfo = getLocationInfo(location.getLongitude(), location.getLatitude(), location.getAddrStr(), location.getLocationDescribe());
                    locationInfoInterface.getLocationInfo(locationInfo);
                    locationService.stop();
                    break;
                case BDLocation.TypeServerError:     //服务端网络定位失败,可以反馈IMEI号和大体定位时间到[email protected],会有人追查原因
                case BDLocation.TypeNetWorkException:  //网络不同导致定位失败,请检查网络是否通畅
                case BDLocation.TypeCriteriaException:   //无法获取有效定位依据导致定位失败,一般是由于手机的原因,处于飞行模式下一般会造成这种结果,可以试着重启手机
                    //定位失败
                    Log.i("test_loca", location.getLocType() + "");
                    locationService.stop();
                    break;
            }
        }
    }
};

 以上先贴出代码部分

1.添加接口LocationInfoInterface,并添加回调方法

2.添加接口set方法

public static void setLocationInfoInterface(LocationInfoInterface locationInfo){
    locationInfoInterface = locationInfo;
}

3.将数据给接口的方法设置进去

locationInfoInterface.getLocationInfo(locationInfo);//locationInfoInterface可直接定义全局的

4.外部需要定位信息的调用者实现此接口

5.实现方法,获取定位信息

扫描二维码关注公众号,回复: 3692862 查看本文章

接口回调就是这么简单,希望能帮到更多朋友

猜你喜欢

转载自blog.csdn.net/lovelixue/article/details/81741996