机器人 - 如何让每10米位置更新? [英] android - how to get location update on every 10 meters?

查看:170
本文介绍了机器人 - 如何让每10米位置更新?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序必须对各10米的速度运行更新的具体数据。
对于读音字使用的LocationManager得到更新,但我没有得到正确的答案。

我用下面的code:还增加了权限粗,细,互联网。

  locationManager.requestLocationUpdates(getProviderName(),10000,
            10,LocationListener的);私人字符串getProviderName(){
    的LocationManager的LocationManager =(的LocationManager)本
            .getSystemService(Context.LOCATION_SERVICE);    标准标准=新标准();
    criteria.setPowerRequirement(Criteria.POWER_LOW);
    // criteria.setAccuracy(Criteria.ACCURACY_FINE);
    criteria.setSpeed​​Required(真);
    criteria.setAltitudeRequired(真);
    criteria.setBearingRequired(真);
    criteria.setCostAllowed(假);
    criteria.setAccuracy(Criteria.ACCURACY_MEDIUM);
    criteria.setSpeed​​Accuracy(Criteria.ACCURACY_MEDIUM);
    criteria.setBearingAccuracy(Criteria.ACCURACY_MEDIUM);    返回locationManager.getBestProvider(标准,真正的);
}

这是条件说的LocationManager每10秒更新覆盖或不10米?我对吗?


解决方案

  //的最小距离改变米的更新
私有静态最后长MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; //10米//毫秒更新之间的最短时间
私有静态最后长MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1分钟locationManager.requestLocationUpdates(
                            LocationManager.NETWORK_PROVIDER,
                            MIN_TIME_BW_UPDATES,
                            MIN_DISTANCE_CHANGE_FOR_UPDATES,这一点);

in my application i have to update specific data on travelling of each 10 meters. For that i m using LocationManager to get updates , but i am not getting correct answers.

I have used following code : Also added Permissions coarse, fine , internet .

locationManager.requestLocationUpdates(getProviderName(), 10000,
            10, locationListener);

private String getProviderName() {
    LocationManager locationManager = (LocationManager) this
            .getSystemService(Context.LOCATION_SERVICE);

    Criteria criteria = new Criteria();
    criteria.setPowerRequirement(Criteria.POWER_LOW);
    // criteria.setAccuracy(Criteria.ACCURACY_FINE);
    criteria.setSpeedRequired(true);
    criteria.setAltitudeRequired(true);
    criteria.setBearingRequired(true);
    criteria.setCostAllowed(false);
    criteria.setAccuracy(Criteria.ACCURACY_MEDIUM);
    criteria.setSpeedAccuracy(Criteria.ACCURACY_MEDIUM);
    criteria.setBearingAccuracy(Criteria.ACCURACY_MEDIUM);

    return locationManager.getBestProvider(criteria, true);
}

Is this condition says LocationManager to update on every 10 seconds for 10 meters covered or not? am i right?

解决方案

// The minimum distance to change Updates in meters
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters

// The minimum time between updates in milliseconds
private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute

locationManager.requestLocationUpdates(
                            LocationManager.NETWORK_PROVIDER,
                            MIN_TIME_BW_UPDATES,
                            MIN_DISTANCE_CHANGE_FOR_UPDATES, this);

这篇关于机器人 - 如何让每10米位置更新?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆