请告诉我如何从GPS_PROVIDER获取lat和long。 我的代码
TextView curb,cura ;
Button b,a;
LocationManager lm;
boolean apres=false;
boolean bpresss=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout l = new LinearLayout(this);
l.setOrientation(LinearLayout.VERTICAL);
cura = new TextView (this);
a = new Button(this);
a.setText("GPS get lat and long");
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
a.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
bpresss=false;
apres =true;
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10, MainActivity.this);
}
});
b = new Button(this);
curb = new TextView(this);
b.setText("NETWORK get lat long");
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
apres=false;
bpresss =true;
Log.e("","NETWORK BUTTON PRESSED");
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 10, MainActivity.this);
Log.e("","NETWORK BUTTON UNPRESSED");
}
});
setContentView(l);
l.addView(cura);
l.addView(a);
l.addView(curb);
l.addView(b);
}
@Override
public void onLocationChanged(Location loc) {
// TODO Auto-generated method stub
if(apres){
cura.setText("lat = "+loc.getLatitude()+" long = "+loc.getLongitude());
apres=false;
Toast.makeText(MainActivity.this, "GPS Button", Toast.LENGTH_SHORT).show();
}
if(bpresss){
Log.e("","---------------");
curb.setText("lat = "+loc.getLatitude()+" long = "+loc.getLongitude());
bpresss=false;
Toast.makeText(MainActivity.this, "NETWORK Button", Toast.LENGTH_SHORT).show();
}
}
问题:应用工作......在模拟器上很奇怪,而且在真实设备上工作非常紧张。 在模拟器上我可以轻松获得GPS坐标,但NETWORK无法正常工作。只是不紧迫。
在真实设备上GPS坐标不起作用,但netwrok工作得很好。 我想知道如何在真实设备上正确获取GPS Coords的当前位置。 ?
正好在真实设备上按下按钮 - 然后什么都没有。没有坐标。来自genymotion的模拟器与gps一起工作得非常好。
答案 0 :(得分:0)