2011-09-23 3 views
0

J'ai essayé pendant environ 3 jours pour résoudre ce problème et je n'ai pas trouvé de solution jusqu'à présent. J'essaie d'obtenir ma position par GPS. Il ne semble pas recevoir les coordonnées que j'essaie d'envoyer via cmd.exe ou le contrôle de l'émulateur dans le DDMS. De plus, il redémarre l'émulateur. Le code que j'ai essayé est ci-dessous. Si quelqu'un peut m'aider alors s'il vous plaît faites parce que je ne trouve aucune solution à ce problème. Je vous remercie!GPS sur le problème Android

import android.app.Activity; 
import android.content.Context; 
import android.location.Location; 
import android.location.LocationListener; 
import android.location.LocationManager; 
import android.os.Bundle; 
import android.widget.TextView; 

public class Check_Location extends Activity { 

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

LocationManager locationManager = (LocationManager)  this.getSystemService(Context.LOCATION_SERVICE); 

LocationListener locationListener = new LocationListener() { 
public void onLocationChanged(Location location) { 

TextView tv=(TextView) findViewById(R.id.textView1); 
tv.setText(location.getLongitude()+" "+location.getLatitude()); 
} 

public void onStatusChanged(String provider, int status, Bundle extras) {} 

public void onProviderEnabled(String provider) {} 

public void onProviderDisabled(String provider) {} 
}; 

//Register the listener with the Location Manager to receive location updates 
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); 
} 
} 

Une autre méthode que je l'ai essayé et n'a pas non plus travailler est ci-dessous:

import android.app.Activity; 
    import android.content.Context; 
    import android.location.Criteria; 
    import android.location.Location; 
    import android.location.LocationListener; 
    import android.location.LocationManager; 
    import android.os.Bundle; 
    import android.util.Log; 
    import android.widget.TextView; 
    import android.widget.Toast; 

public class MainActivity extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
/* Use the LocationManager class to obtain GPS locations */ 
LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
LocationListener mlocListener = new MyLocationListener(); 
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 

} 

/* Class My Location Listener */ 
public class MyLocationListener implements LocationListener 
{ 
    @Override 
    public void onLocationChanged(Location loc) 
    { 
     loc.getLatitude(); 
     loc.getLongitude(); 

     String Text = "My current location is: " + 
         "Latitude = " + loc.getLatitude() + 
         "Longitude = " + loc.getLongitude(); 

     Toast.makeText(getApplicationContext(), Text, Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onProviderDisabled(String provider) 
    { 
     Toast.makeText(getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onProviderEnabled(String provider) 
    { 
     Toast.makeText(getApplicationContext(), "Gps Enabled", Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) 
    { 
    } 

}/* End of Class MyLocationListener */ 
} 

Les permisssions fixés pour les deux sont:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES"></uses-permission> 
+0

J'ai réussi à résoudre mon problème. J'ai lu sur d'autres forums. Les deux codes fonctionnent, mais essayez sur une plate-forme Android qui est inférieure au niveau 10. Par exemple, faites un émulateur pour le niveau 8. Cela fonctionne! – Lara

+0

Postez votre réponse ici et acceptez-la, afin que les autres puissent apprendre. –

Répondre

0

j'ai réussi à résoudre mon problème. J'ai lu sur d'autres forums. Les deux codes fonctionnent, mais essayez sur une plate-forme Android qui est inférieure au niveau 10. Par exemple, faites un émulateur pour le niveau 8. Cela fonctionne!

+0

Savez-vous où je peux télécharger des API Google compatibles avec Android niveau 8 api? Je suis confronté au même problème GPS avec 2.3.x Merci! – coredump