2017-01-29 1 views
0

J'utilise ce code dans Android 6.0 pour obtenir la position:Emplacement code ne fonctionne plus

public class MainActivity extends AppCompatActivity implements LocationListener{ 
    protected LocationManager locationManager; 
    protected LocationListener locationListener; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
     if (checkPermission()) 
      locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); 
    } 

    @Override 
    public void onLocationChanged(Location location) { 
     lati = location.getLatitude(); 
     longi = location.getLongitude(); 
    } 

    @Override 
    public void onProviderDisabled(String provider) { 
     Log.d("Latitude", "disable"); 
    } 

    @Override 
    public void onProviderEnabled(String provider) { 
     Log.d("Latitude", "enable"); 
    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) { 
     Log.d("Latitude", "status"); 
    } 

    private boolean checkPermission(){ 
     if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { 
      // TODO: Consider calling 
      // ActivityCompat#requestPermissions 
      // here to request the missing permissions, and then overriding 
      // public void onRequestPermissionsResult(int requestCode, String[] permissions, 
      //           int[] grantResults) 
      // to handle the case where the user grants the permission. See the documentation 
      // for ActivityCompat#requestPermissions for more details. 
      return false; 
     } 
     return true; 
    } 
} 

définir les permissions dans les propriétés des programmes true.

Il travaillait mais maintenant il ne trouve jamais les satellites ou la position en général.

cartes Google trouve immédiatement satellites.

De quoi ai-je besoin pour changer?

+0

Que se passe-t-il? Erreur? quel point voir? ?? – josedlujan

+0

Rien. L'icône de localisation est apparue et il semblait qu'elle cherchait une position sans en trouver une. Puis j'ai ouvert Maps et il était là, l'emplacement, immédiatement. Ce n'est donc pas un problème matériel. –

+0

@ P.Dee Essayez de changer 'compileSdkVersion' et' targetSdkVersion' en 22 et ensuite si ça marche bien alors son problème d'autorisation. Vous devez demander l'autorisation de localisation dans les appareils 'Marshmallow +'. – DwlRathod

Répondre

0

voir tout ce commentaire TODO dans votre code? Mettre en œuvre. vous doit faire cela pour qu'il fonctionne sur les versions modernes de andorid

+0

Même si ce n'est pas une solution, j'ai utilisé la propriété lastfoundlocation dans mon application. –