2011-06-20 102 views
1

我使用下面的代码获取用户的当前位置。此代码在模拟器中工作,但是当我在移动设备上使用此应用程序时,无法给出当前的经纬度。 我在android清单文件中使用<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />这段代码。无法获得Android当前位置的纬度和经度

请给我的解决方案...我的代码如下

public class MenuPage extends Activity{ 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.menupage); 


    LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
    LocationListener locListener = new MyLocationListener(); 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locListener); 



} 

/*类MyLocationListener开始为获得用户的当前位置*/

public class MyLocationListener implements LocationListener 

{ 

    @Override 

    public void onLocationChanged(Location crurrentLocation) 

    { 
      Log.v("WHERE ","onLocationChanged()"); 
      crurrentLocation.getLatitude(); // get current latitude 
      crurrentLocation.getLongitude(); // get current longitude 
      longitude=crurrentLocation.getLongitude(); 
      latitude= crurrentLocation.getLatitude(); 

      Log.v("WHERE ","onLocationChanged() Latitude="+latitude); 
      Log.v("WHERE ","onLocationChanged() Longitude="+longitude); 
      Toast.makeText(getApplicationContext(),"Latitud="+crurrentLocation.getLatitude(),Toast.LENGTH_SHORT).show(); 
      Toast.makeText(getApplicationContext(),"Longitud="+crurrentLocation.getLongitude(),Toast.LENGTH_SHORT).show(); 

      send_current_location = new Send_Current_location_ToServer(); 
     // Send current location to server 
      String server_message = send_current_location.sendData(userid,latitude,longitude);  
     // String text ="My current location is: " + "Latitud = " + crurrentLocation.getLatitude() + "Longitud = " + crurrentLocation.getLongitude(); 
     // Toast.makeText(getApplicationContext(),text,Toast.LENGTH_SHORT).show(); 

    } 

    @Override 

    public void onProviderDisabled(String provider) 

    { 
      Log.v("WHERE ","onProviderDisabled()"); 
    Toast.makeText(getApplicationContext(),"Gps Disabled",Toast.LENGTH_SHORT).show(); 

    } 

    @Override 

    public void onProviderEnabled(String provider) 

    { 
     Log.v("WHERE ","onProviderEnabled()"); 

    Toast.makeText(getApplicationContext(),"Gps Enabled",Toast.LENGTH_SHORT).show(); 

    } 

    @Override 

    public void onStatusChanged(String provider, int status, Bundle extras) 

    { 
     Log.v("WHERE ","onStatusChanged()"); 
    } 

}/* End of Class MyLocationListener */ 

}

回答

0

有2.3仿真器中有关位置服务的错误。尝试更改为2.1以测试您的代码。

欲了解位置服务的更多信息,请使用this

请参阅here了解错误的状态。

相关问题