2011-02-26 70 views
2

我寫了一些代碼,基本上吐出NMEA句子。代碼在froyo上工作,完全按照我的意願進行。但是,當我進行薑餅升級時,它不再有效。其他人遇到過這個問題嗎?NMEAlistener不工作薑餅

我正在使用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

發佈代碼,我不認爲在GB – Reno 2011-02-26 16:02:57

+0

中的nmea監聽器被破壞,請參閱上面的代碼。還有一個人提到升級到GingerBread後他們遇到同樣的問題。 – Adil 2011-03-07 04:45:26

回答

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更新之前工作),但同樣的Nexus One在更新到2.3.3後不再工作。

+0

是的,我在這裏沒有得到回覆後就開始了這個線程。谷歌似乎也沒有迴應。 – Adil 2011-04-24 20:33:23