2015-02-11 70 views
-1

我试图找到一个解决方案来检测我的android应用程序用户位置,而无需使用GPS。检测Android用户位置

我得到两种不同的方式,用户的位置,第一个是使用了Android 的LocationManager一些设备,如三星S2和三星注4本以下指令返回false:

isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 

另外,我尝试使用Google Play服务获取位置信息,因为这些设备永远不会被调用。

有没有一种方法来确定位置而不启用GPS? Foursquare如何做到这一点?它从不要求用户打开/启用GPS?

感谢,

+0

TowerLocation可以给你的资源(不太准确),但你需要在手机中有一个活跃的SIM卡。 – 2015-02-11 12:38:21

回答

0

融合android的位置提供,管理的基本定位技术,让您的最佳位置,根据您的需求和可用的传感器(如GPS被禁用它使用他人)

你可以试试LastLocation代替onLocationChanged,

... 
@Override 
public void onConnected(Bundle connectionHint) { 
    mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
      mGoogleApiClient); 
    if (mLastLocation != null) { 
     mLatitudeText.setText(String.valueOf(mLastLocation.getLatitude())); 
     mLongitudeText.setText(String.valueOf(mLastLocation.getLongitude())); 
    } 
} 

Getting las known location Android

+0

或者使用此库避免必须处理Google API客户端设置:https://github.com/mcharmas/Android-ReactiveLocation – cYrixmorten 2015-02-11 12:44:49