2011-11-18 52 views
2

我對android編程還很陌生,並且遇到了「requestLocationUpdates」的問題。我非常確定我已經縮小了它的範圍,因爲我的代碼在我註釋掉的時候運行。發生什麼事情是當我用下面寫的代碼運行它時,程序停止響應。我正在使用android 2.2,權限設置爲1.6。我知道2.3導致了問題,但它聽起來像2.2應該沒問題。我只在下面的代碼中包含了我認爲重要的東西,如果其他部分需要告訴我。requestLocationUpdates崩潰

locman= (locationManager) getSystemService(Context.LOCATION_SERVICE); 
    locman.requestLocationUpdates(LocationManger.GPS_PROVIDER, 0,0, new locationListener()); 
} 

private class locationListener implements LocationListener 
{ 
    @Override 
    public void onLocationChanged(Location loc) 
    { 
     if (loc !=null) { 
     Toast.makeText(getBaseContext(), "Location Changed: Lat: " + loc.getLatitude() + "Lng: " + loc.getLongitud(), Toast.LENGTH_SHORT).show(); 
    } 
    gp= new GeoPoint(
     (int) (loc.getLatitude()*1E6),(int) (loc.getLongitude()*1E6)); 
+1

請發佈崩潰發生時看到的logcat異常 – Craigy

+0

我假設它不是拼寫錯誤loc.getLongitud(),因爲您的代碼不會編譯。 –

+0

這裏的logcat在最後4行時崩潰: 11-18 14:40:38.136:DEBUG/dalvikvm(305):GC_FOR_MALLOC釋放6213對象/ 383296字節在62ms中 11-18 14:40:39.976:DEBUG/dalvikvm(305):GC_FOR_MALLOC在60ms中釋放了11936個對象/ 829776個字節 11-18 14:40:40.566:WARN/ActivityManager(58):啓動超時已過期,放棄喚醒鎖定! 11-18 14:40:40.616:WARN/ActivityManager(58):HistoryRecord的活動空閒超時{4509bb30 msum.arch/.maplst} 11-18 14:40:41.986:DEBUG/dalvikvm(305):GC_FOR_MALLOC釋放6161個對象/ 371768字節在57毫秒 我檢查了,是的它拼寫正確。 –

回答

0

這是一個愚蠢的錯誤,在manifest.xml文件中,我拼寫ACCESS與一個額外的S,所以它是ACCESSS。顯然不能很好地工作。我討厭拼寫錯誤!我想通過添加COARSE_LOCATION,並意識到FINE和COARSE沒有像他們應該的那樣正確排列。

0

也許給定的loc參數爲null,這將導致新的GeoPoint創建失敗?

+0

原諒我,即時通訊新的android,但有一些編程經驗,但不幸我沒有看到你是什麼。我檢查一下,如果有任何變化,如果它已經改變,然後返回的位置。其他的,它應該尋找新的位置。 –