2011-05-18 98 views
0

我只想接收我從Emulator Control發送的Activity中的位置數據。以下是我用我的主要活動代碼:在android中模擬位置數據

public class LocationAlert extends Activity { 

TextView txtMessage; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    txtMessage = (TextView)findViewById(R.id.txtMsg); 

    LocationManager lm = (LocationManager)getSystemService(LOCATION_SERVICE); 

    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 0, mLocListener); 


    if (lm.getLastKnownLocation(LocationManager.GPS_PROVIDER) != null){ 
     txtMessage.setText(String.valueOf(lm.getLastKnownLocation(LocationManager.GPS_PROVIDER).getLatitude())); 
    } 

} 

LocationListener mLocListener = new LocationListener() { 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onProviderEnabled(String provider) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onProviderDisabled(String provider) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onLocationChanged(Location location) { 

     if (location != null){ 
      txtMessage.setText("Latitude: " + String.valueOf(location.getLatitude()) + ", Longitude: " + String.valueOf(location.getLongitude())); 
     } 

    } 
}; 

}

,但我沒有得到任何數據,並在模擬器中運行的所有進程關閉一個接一個,我可以在看設備選項卡。上面的代碼有什麼問題?

回答

1

您可能會在清單文件中缺少一些android權限。將此添加到您的清單

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
+0

它已經在那裏。 – Ali 2011-05-18 10:39:40