我想獲得最後的位置(以任何方式),而不啓用設備上的位置服務,這可能嗎?
我應該怎麼做?如何在不啓用設備上的位置服務的情況下獲取上次位置?
回答
有三種方式找到自己的位置,refer this
TelephonyManager telephonyManager =(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); GsmCellLocation cellLocation =(GsmCellLocation)telephonyManager.getCellLocation();
int cellid = cellLocation.getCid(); int celllac = cellLocation.getLac();
感謝您的回答,您可以發表一些示例代碼嗎? – 2015-03-25 08:41:05
參考這個http://developerlife.com/tutorials/?p=1375 – rKrishna 2015-03-25 08:51:13
沒有工作,對不起:( – 2015-03-25 08:55:38
您可以在方法getLastKnownLocation中使用NETWORK_PROVIDER作爲服務參數。
當位置服務在設備中被禁用時,我無法獲得最後的位置 – 2015-03-25 08:56:25
如果定位服務被禁用,你將無法獲得GPS位置。 – Arun 2015-03-25 08:59:03
如果不想GPS得到的位置,那麼你應該使用NETWORK_PROVIDER獲得位置:
我已經採取了從AndroidHive website這個模塊你可以參考更多的在那裏。
您的查詢將用此方法getLocation()
public Location getLocation() {
try {
locationManager = (LocationManager) mContext
.getSystemService(LOCATION_SERVICE);
// getting GPS status
isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
// getting network status
isNetworkEnabled = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!isGPSEnabled && !isNetworkEnabled) {
// no network provider is enabled
} else {
this.canGetLocation = true;
// First get location from Network Provider
if (isNetworkEnabled) {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("Network", "Network");
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
// if GPS Enabled get lat/long using GPS Services
if (isGPSEnabled) {
if (location == null) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return location;
}
- 1. 如何在不使用位置的情況下獲取設備的區號
- 2. 在設備位置關閉的情況下從Google Play服務獲取最新的已知位置
- 3. 獲取設備位置並在地圖上設置位置
- 4. 如何在不使用GPS或位置服務的情況下獲取我的iPhone設備國家代碼?
- 5. 在設備上測試位置服務
- 6. 在沒有偏好的情況下在iOS中獲取iPhone位置設置爲ON的位置服務
- 7. 如何在位置不變的情況下獲取當前位置
- 8. 如何在Android(2.2)設備上獲取用戶的GPS位置
- 9. 服務vs IntentService在位置跟蹤服務的情況下
- 10. 如何在不使用位掩碼的情況下在整數中設置位
- 11. 使用T-SQL獲取/設置服務器備份位置
- 12. 我們可以在Android上不使用GPS On的情況下獲取已知位置或近似位置嗎?
- 13. GPS位置 - 在設備上還是在服務器上?
- 14. Google地圖如何獲取Android設備上的位置?
- 15. 如何在不使用OnItemClickListener的情況下獲取ListView中某行的位置
- 16. 如何在不使用核心位置服務的情況下獲取用戶的當前城市名稱?
- 17. 位置後啓用位置服務,
- 18. 如何在wp8上啓動位置設置任務
- 19. 如何在不使用委託的情況下獲取當前位置?
- 20. 爲什麼不能在android設備上獲取當前位置?
- 21. 從服務器獲取位圖圖像以在ImageView上設置
- 22. 如何在不重啓設備的情況下啓用Notification Listener
- 23. 在Android設備上嘲弄的位置
- 24. Enyo在Pre3設備上的位置
- 25. 如何在WP7上啓用位置服務
- 26. 從服務器發送和獲取設備的位置
- 27. 如何在不導入user32.dll的情況下設置鼠標位置wpf
- 28. Android獲取位置或提示以啓用位置服務,如果禁用
- 29. 在沒有聽衆的情況下獲取鼠標位置
- 30. 如何在需要時在服務器上發送設備的位置
試試這個來解決,HTTP://stackoverflow.com/questions/25483352/how-to-get-last-known-location-for-location- manager-in-android – 2015-03-25 08:21:53