我写了一些基本上吐出NMEA句子的代码。代码在froyo上工作,完全符合我的要求。现在然而,当我获得姜饼升级时,它已不再有效。还有其他人有这个问题吗?
我正在使用Nexus One,如果你们需要,我会发布一些代码。
由于
抱歉,我最近很忙。最后是代码:public class GPSTest extends Activity {
TextView mTextView;
Button mStartButton, mStopButton;
LocationManager mLocationManager;
boolean isRegistered;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextView = (TextView) findViewById(R.id.mTextView);
mStartButton = (Button) findViewById(R.id.Button01);
mStopButton = (Button) findViewById(R.id.Button02);
mStartButton.setOnClickListener(mButtonListener);
mStopButton.setOnClickListener(mButtonListener);
mLocationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);
}
void registerListeners(){
if(!isRegistered){
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0 , 0, mLocationListener);
mLocationManager.addNmeaListener(mListener);
isRegistered=true;
}
}
void deregisterListeners(){
if (isRegistered){
mLocationManager.removeUpdates(mLocationListener);
mLocationManager.removeNmeaListener(mListener);
isRegistered=false;
}
}
OnClickListener mButtonListener = new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v==mStartButton){
registerListeners();
}else{
deregisterListeners();
}
}
};
@Override
protected void onPause(){
super.onPause();
deregisterListeners();
}
@Override
protected void onResume(){
super.onResume();
registerListeners();
}
NmeaListener mListener = new NmeaListener(){
@Override
public void onNmeaReceived(long timestamp, String nmea) {
// TODO Auto-generated method stub
mTextView.append("\n"+nmea);
}
};
LocationListener mLocationListener = new LocationListener(){
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
;
}
@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)
在一些手机上的后Froyo实施中记录的错误(Nexus One我可以确认,Xoom传闻似乎没问题)。没有听过使用Nexus S的人,但听起来他们没事。
有关详细信息,请参阅http://code.google.com/p/android/issues/detail?id=15500。
编辑:试图捅谷歌的人,看看是否可以找到一些澄清。
编辑2:哦是的,确认2.2有效(HTC Incredible,Nexus One在2.3更新之前工作),但更新到2.3.3后,相同的Nexus One不再有效。