-3

私はアンドロイドアプリケーションに取り組んでいます。私は問題で立ち往生しています。 getLastKnownLocation(provider)Android バージョン 4.1.1 では返さnullれますが、他のバージョンでは問題ありません。プロバイダーが有効になっており、残りは問題ありません。どこに問題があるのか​​わからない。これがコードです。

LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider = locationManager.getBestProvider(criteria, true);
    location = locationManager.getLastKnownLocation(provider);
    double latitude = location.getLatitude();
    double longitude = location.getLongitude();
    LatLng latLng = new LatLng(latitude, longitude);
    mMap.clear();
    System.out.println("Current Location = "+latLng); 
4

2 に答える 2

0

locationManager.getLastKnownLocationプロバイダーが無効になっている場合は null を返します。ドキュメントは次のとおりです。

http://developer.android.com/reference/android/location/LocationManager.html#getLastKnownLocation(java.lang.String)

于 2013-07-25T07:31:36.903 に答える
0

これを試してみてください...

  mGoogleMap.setOnMyLocationButtonClickListener(new OnMyLocationButtonClickListener() {

                    @Override
                    public boolean onMyLocationButtonClick()
                        {

                            Location myLocation = mGoogleMap.getMyLocation();
                            onLocationChanged(myLocation);
                            return false;
                        }
                });
于 2014-02-27T07:09:41.563 に答える