Får inte någon GPS från emulatorn

Diskussion i 'Frågor, support och diskussion' startad av Lurv, 8 jun 2010.

  1. Lurv

    Lurv Kid Droid Medlem

    Blev medlem:
    15 mar 2010
    Inlägg:
    36
    Mottagna gillanden:
    1

    MINA ENHETER

    När jag kör mitt program i emulatorn så verkar inte GPSen fungera. jag testat att mata den både från telnet och från DDMS med koordinater. satellitikonen syns uppe till höger. men när jag kör så får jag ut 0/0 för lat/long ifrån min kod.

    Har dessa i mitt manifest.xml
    Kod:
    <uses-permission android:name="android.permission.INTERNET" />
    	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    	<uses-permission android:name="android.permission.ACCESS_GPS" />
    	<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
    samt här är koden:
    Kod:
    public class ProgressScreen extends Activity implements Runnable {
    
        private ProgressDialog pd;
        private LocationManager lm;
        private LocationListener locationListener;
    
        
        public void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
    
    	lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    
    	locationListener = new MyLocationListener();
    
    	Criteria criteria = new Criteria();
    	criteria.setAccuracy(Criteria.ACCURACY_FINE);
    	criteria.setAltitudeRequired(false);
    	criteria.setBearingRequired(false);
    	criteria.setCostAllowed(true);
    	criteria.setPowerRequirement(Criteria.POWER_LOW);
    
    	Location loc = lm.getLastKnownLocation(lm.getBestProvider(criteria,
    		true));
    
    	lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 10,
    		locationListener);
    
    	
    	 ((GlobalData) getApplication()).setMyLocation(new GeoPoint(
    	 (int) (loc.getLatitude() * 1E6),
    	 (int) (loc.getLongitude() * 1E6)));
    	
    	
    
    	pd = ProgressDialog.show(ProgressScreen.this, "Information",
    		"Hämtar restauranger i din närhet.", true, false);
    	Thread thread = new Thread(this);
    	thread.start();
        }
    
        public void run() {
    
    	List<Restaurang> restauranger = RestaurantProvider
    		.getRestaurantsAtMyLocation(((GlobalData) getApplication())
    			.getMyLocation());
    	((GlobalData) getApplication()).setRestaurants(restauranger);
    
    	Intent mainIntent = new Intent(ProgressScreen.this, Main.class);
    	ProgressScreen.this.startActivity(mainIntent);
    	ProgressScreen.this.finish();
    
    	pd.dismiss();
        }
    
        private class MyLocationListener implements LocationListener {
    	@Override
    	public void onLocationChanged(Location loc) {
    	   
    	     ((GlobalData) getApplication()).setMyLocation(new GeoPoint(
    	     (int) (loc.getLatitude() * 1E6), (int) (loc
    	     .getLongitude() * 1E6)));
    	  
    	}
    
    	@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
    	}
    
        }
    }
     
  2. Lurv

    Lurv Kid Droid Medlem

    Blev medlem:
    15 mar 2010
    Inlägg:
    36
    Mottagna gillanden:
    1

    MINA ENHETER

    För att förtydliga så får jag ett fint location objekt men det är tomt. lat/long är 0.0 (vilket ligger någonstans utanför elfenbenskusten)

    skickar jag in nya koordiater via DDMS så triggas onlocations change men ändå för jag ut 0.0....
     
  3. Lurv

    Lurv Kid Droid Medlem

    Blev medlem:
    15 mar 2010
    Inlägg:
    36
    Mottagna gillanden:
    1

    MINA ENHETER

    Hitta lösningen. antingen ställer man om sitt OS till Engelska (nummer och format inställningar) eller så lägger man till denna rad i eclispe.ini

    -Duser.language=en