2017-01-29 24 views
0

Я использую этот код в Android 6.0, чтобы получить позицию:Location-код не работает больше

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; 
    } 
} 

Я установить разрешение в программах свойств в действительность.

Он работал, но теперь он никогда не находит спутников или положения в целом.

Карты Google сразу же обнаруживают спутники.

Что мне нужно изменить?

+0

Что случилось? Ошибка? что посмотреть? ?? – josedlujan

+0

Ничего. Значок местоположения появился, и казалось, что он ищет позицию, но никогда не найдя ее. Затем я открыл Карты, и это было, место, немедленно. Так что это не проблема с оборудованием. –

+0

@ P.Dee Попробуйте изменить 'compileSdkVersion' и' targetSdkVersion' на 22, а затем, если это будет нормально работать, то его разрешение будет выдано. Вы должны спросить разрешения на размещение в устройствах «Marshmallow +». – DwlRathod

ответ

0

посмотреть все, что комментарий TODO в вашем коде? реализовать его. вы должны сделать это для работы над современными версиями andorid

+0

Даже если это не решение, я использовал свойство lastfoundlocation в своем приложении. –