我正在尝试开发一个小应用程序,它在启动时会在吐司或其他东西中显示当前位置的名称。我写的代码将在显示器上显示Toast,只有我从Eclipse的Emulator Control View手动发送坐标。
我的问题:有没有办法强制在启动时以某种方式发送坐标,因为我想在加载应用程序时使用Toast?我怎么能这样做?感谢。
以下是代码:
public class HomeActivity extends Activity implements LocationListener {
private LocationManager locationManager;
private String welcomeMsg;
private String crtLocationName;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initLocationManager();
}
private void initLocationManager(){
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 5000, this);
}
*/
@Override
public void onLocationChanged(Location location) {
if (location != null) {
try {
crtLocationName = getLocationName(location);
Toast.makeText( getApplicationContext(), crtLocationName, Toast.LENGTH_LONG).show();
} catch (IOException e) {
welcomeMsg = "Location cannot be determined";
crtLocationName = "";
}
// locationManager.removeUpdates(this);
}
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
答案 0 :(得分:2)
由于仿真器没有GPS接收器,只有在通过DDMS提供一些新坐标时才会调用方法onLocationChanged
。
在真正的手机上,它不会立即显示Toast;它将在找到GPS卫星并接收GPS定位之前等待,然后它将显示Toast消息。