【问题标题】:Showing User's Location in Android在 Android 中显示用户的位置
【发布时间】:2011-01-13 09:05:44
【问题描述】:

我在获取用户位置(我的位置)时遇到问题。我的代码是

double lat;
double lng;
LocationManager locationManager;
String context = Context.LOCATION_SERVICE; 
locationManager = (LocationManager)getSystemService(context);
String provider = LocationManager.GPS_PROVIDER;
Location location = locationManager.getLastKnownLocation(provider);
if(!locationManager.isProviderEnabled(provider)){
 locationManager.setTestProviderEnabled(provider, true);
}
boolean enabled = locationManager.isProviderEnabled(provider);
if(enabled){
        Toast.makeText(LoginActivity.this,"provider enabled",Toast.LENGTH_LONG).show();
}
else{
    Toast.makeText(LoginActivity.this,"provider disabled",Toast.LENGTH_LONG).show();
}
if(location!=null){
  lat = location.getLatitude();
  lng = location.getLongitude();
  AlertDialog.Builder ab=new AlertDialog.Builder(LoginActivity.this);
  ab.setMessage(Html.fromHtml("<b><font color=#ff0000>Location" +"</font></b><br>"
            +location.toString()+"<br>Latitude: "+lat
                +"<br>Longitude "+lng));
  ab.setPositiveButton("ok",null );
  Toast.makeText(LoginActivity.this,"You are at     "+location.toString(),Toast.LENGTH_LONG).show();
}
else{
    Toast.makeText(LoginActivity.this,"Location not found",Toast.LENGTH_LONG).show();
} 

我的问题是在启用应用程序消息提供程序时,我得到的位置是null。我在这段代码中没有发现任何问题。我也在设备上测试过,它显示提供程序已启用并且找不到位置。

我还没有在课堂上实现位置监听器。 是否有必要在我的班级中实现位置监听器?

【问题讨论】:

    标签: android location location-provider


    【解决方案1】:

    您只能从手机获取最后一个已知位置。如果此值为空,即没有最后一个已知位置可用,则表示您没有尝试以任何其他方式接收位置。

    您应该实现一个 LocationListener 并根据本指南将其注册以接收位置更新:http://developer.android.com/guide/topics/location/obtaining-user-location.html 这将导致手机尝试获取用户位置并以 Location 对象的形式将其交给您的应用程序。

    【讨论】:

    • 感谢 Pich 的提示我在我的代码中添加了位置列表器,它可以正常工作并显示位置,但它不适用于模拟器。当我使用 Location Listner 但在设备上工作正常时,AVD 会关闭
    • 不客气。不要忘记将答案标记为已接受,否则问题将一直没有答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 2011-11-14
    • 1970-01-01
    • 2021-11-20
    • 2010-11-13
    相关资源
    最近更新 更多