2013-02-18 62 views
0

有沒有一個選項,我們可以讓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)。 在此先感謝。

回答

0

使用空的Criteria對象(new Criteria())。默認情況下,它被設置爲最廣泛的兼容位置提供商。

+0

但它沒有設置標準時選擇最好的。如果標準對象沒有設置配置參數,那麼做出該決定的依據是什麼? – user2052129 2013-02-19 21:58:09

+0

@ user2052129:決策算法沒有記錄,最後我檢查了,因此不應該依賴。 – CommonsWare 2013-02-19 22:00:52

+0

是的,當我將標準對象留空時,它只是選擇了WIFI/Cell Data作爲默認值,而GPS則是更好的提供者,只要精度有關。 – user2052129 2013-02-20 20:37:29