2016-03-16 81 views
0

有兩個提供者:GPS_PROVIDER和NETWORK_PROVIDER以獲取我們在Android中的當前位置。 是否可以禁用位置服務並純粹通過WIFI獲取用戶位置? 我試圖禁用位置服務,但NETWORK_PROVIDER返回false。Android位置管理器

回答

0

是否可以禁用位置服務並純粹通過WIFI獲取用戶位置 ?

是的,它可以通過增加輸入到getLocastKnowsLocation爲LocationManager.NETWORK_PROVIDER

LocationManager locMgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
Location networkLocation = locMgr.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 
if (networkLocation != null) { 
      Location bestResult = networkLocation; 
     } 
+0

如果什麼用戶關閉了定位服務?位置服務有兩種選擇,即GPS或網絡。如果我禁用位置服務意味着兩者都會返回false。但我仍然可以通過WIFI連接到互聯網。因此,在這種情況下,網絡提供商將返回給我假,但我仍然使用WIFI。 –

0

是的,你仍然可以得到設備直通無線的當前位置。 Android設備可用的位置數據包含設備的當前位置。您可以使用My Location layer和我的位置按鈕爲您的用戶提供他們在地圖上的當前位置。

移動應用程序的一個獨特功能是位置感知。 Google服務中提供的位置API有助於通過自動位置跟蹤,地理圍欄和活動識別功能將位置感知功能添加到您的應用中。

下面是一個示例演示應用程序,它討論如何獲取設備的當前位置: https://github.com/googlemaps/android-samples/blob/master/ApiDemos/app/src/main/java/com/example/mapdemo/MyLocationDemoActivity.java