0

デバイスの現在位置を Google マップに表示する Android アプリを開発しました。これまでのところ新しいことは何もなく、すべてが私の ZTE Smart a7 (Android 2.3.2) で完全に機能しました。しかし、私の新しいデバイス LG Maximo G (Android 4.1.2) では、場所が取得されません。つまり、LocationManager は常に null です。この特定のデバイス/Android OS バージョンでこれが発生する理由を知っている人はいますか?

リスナーを開始するには、次のコードを使用しています

    public void startListeners() {

    //Test if locatioManager is null
    if( this.lm.isProviderEnabled(LocationManager.GPS_PROVIDER)){
        this.lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 500L, 1F,this.currentListener);    
    }

    if( this.lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
        this.lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 500L, 1F,this.currentListener);    
    }

    if(this.lm.getLastKnownLocation(LocationManager.GPS_PROVIDER) != null) {
        this.lastLocation = this.lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    }

    if(this.lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER) != null) {

        if( this.lastLocation != null){

            if(  this.lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER).getAccuracy() > this.lastLocation.getAccuracy() ){
                this.lastLocation= this.lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
            }

        } else{
            this.lastLocation = this.lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
        }

    } 
}

みんなありがとう。

4

1 に答える 1