2016-03-23 23 views
2

Kullanıcının en son bilinen konumunu bulmaya çalışıyorum.LocationService.FusedLocation yalnızca bazı aygıtlarda dönen null

@Override 
public void onConnected(Bundle bundle) { 
    initilizeMap(); 
} 

fonksiyonu şuna benzer::

private void initilizeMap(){ 
    mLastLocation = LocationServices.FusedLocationApi 
      .getLastLocation(mGoogleApiClient); 

    if (mLastLocation != null){ 
     ... 
    }else{ 
     // location unknown 
    } 
} 

Ben kullanıcının mevcut konumunu almak için ilk Google haritalar açtı Google API bağlandıktan sonra

, benim işlevi çağırmak . Ancak, mLastLocation hala boş.

En ilginç şey, kodun Sony tablet üzerinde çalıştığıdır. Ama bugün telefonumu Nexus'a değiştirdim ve bu cihazda çalışmıyor!

Bunu nasıl düzeltebilirim?

P.S.

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

ve android versiyonu Requesting Permissions at Run Time gösterildiği gibi

+0

Kodun iyi olduğuna benziyor, belki de telefonunuzla ilgisi var mı? –

+0

@EricS. Umarım değildir! Ben sadece aldım: (Google haritalar çalışıyor olsa da ben –

+0

Eminim telefonunuzu iyi, belki bir ayar ya da bir şey düşündüm. –

cevap

1

listelenmiş here ihtiyacı gibi herhangi tehlikeli izinleri 6.0.1 aksi takdirde alırsınız, çalışma zamanında istenecek geçerli: Benim manifest dosyasında bu izinleri dahil Uygulamanızda beklenmeyen sonuçlar alabilen bir Permission Denied hatası.

ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSIONS_REQUEST_ACCESS_LOCATION);

burada: Ya PackageManager.PERMISSION_GRANTED veya

PackageManager.PERMISSION_DENIED Bir PackageManager.PERMISSION_DENIED o zaman o izin isteyebilirsiniz olsun eğer dönebilirsiniz ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACCESS_FINE_LOCATION)

:

Sen bir izni kontrol MY_PERMISSION_REQUEST_ACCESS_LOCATION, sizin tanımladığınız int değişkenliğinizdir izin verme/reddetme sonucunun üstesinden geldiğiniz yer olan onRequestPermissionsResult numaralı çağrıya geri dönün.

+0

Teşekkürler @Pztar !! –

İlgili konular