Android可以自动选择最佳位置提供商吗?
问题描述:
有没有一个选项,我们可以让Android挑选最好的提供者。在iOS中,有一种叫做best或bestForNavigation Option的东西。Android可以自动选择最佳位置提供商吗?
我知道我们可以指定一个条件,并请求位置更新像下面前挑提供商:
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setCostAllowed(false);
String providerName = locManager.getBestProvider(criteria, true);
但比设定标准等,有没有办法在其中,Android操作系统会自动选择最佳的供应商。基本上我正在试图在Android中找到一个类似于Apple IOS上可用的选项(如best或bestForNavigation)。 在此先感谢。
答
使用空的Criteria
对象(new Criteria()
)。默认情况下,它被设置为最广泛的兼容位置提供商。
但它没有设置标准时选择最好的。如果标准对象没有设置配置参数,那么做出该决定的依据是什么? – user2052129 2013-02-19 21:58:09
@ user2052129:决策算法没有记录,最后我检查了,因此不应该依赖。 – CommonsWare 2013-02-19 22:00:52
是的,当我将标准对象留空时,它只是选择了WIFI/Cell Data作为默认值,而GPS则是更好的提供者,只要精度有关。 – user2052129 2013-02-20 20:37:29