Приложение Google Map Crash in Lollipop для Android

Я реализую Google Map API v2 в моем приложении для Android. Приложение отлично работает на всех устройствах, но не на устройствах с леденцами. Приложение падает в леденец. Я искал эту проблему, но не нашел разумного решения. Если кто-нибудь знает об этой проблеме, пожалуйста, помогите мне. Я буду очень благодарен

2 ответа

Может быть, вы пытаетесь получить местоположение через LocationManager учебный класс. Этот способ отлично работает на устройстве preLollipop. Но в леденце не работает. Теперь снова Google выпустил новый API, но они не обновили документацию должным образом. Здесь есть демонстрационный код получения местоположения, который предоставит вам возможность получить объект местоположения через определенный промежуток времени, используя новый / последний API службы определения местоположения.

import android.app.Activity;
import android.location.Location;
import android.os.Bundle;
import android.util.Log;

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;

/**
 * Created by skarim on 10/29/15.
 */
public class GetLocationAfterCertainInterval extends Activity implements  GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener ,
        LocationListener {
    GoogleApiClient apiClient=null;
    LocationRequest mLocationRequest=null;
    private int locationInterval,fastedInterval;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Initialize Your View here.
        setLocationLocationRequest();
    }

    @Override
    public void onDestroy() {
        // Your need of location update is done. So you have to stop the apiClient.
        super.onDestroy();
        this.apiClient.disconnect();
    }


    private void setLocationLocationRequest() {

        try {
            apiClient=new GoogleApiClient.Builder(this).addConnectionCallbacks(this).addOnConnectionFailedListener(this).addApi(LocationServices.API).build();

            mLocationRequest = new LocationRequest();
            mLocationRequest.setInterval(29000);
            mLocationRequest.setFastestInterval(5000);
            mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
            apiClient.connect();

        }catch (Exception e){
            Log.d("LS", e.getMessage() == null ? "" : e.getMessage());
        }

    }
    @Override
    public void onConnected(Bundle bundle) {
        // Your API Client is connected. So can request for updates
        LocationServices.FusedLocationApi.requestLocationUpdates(apiClient, mLocationRequest, this);
    }

    @Override
    public void onConnectionSuspended(int i) {

    }

    @Override
    public void onLocationChanged(Location location) {
        // After your desired interval This api will give you the Location Object.

    }

    @Override
    public void onConnectionFailed(ConnectionResult connectionResult) {

    }


}

Для более подробной информации об этом API вы можете увидеть эту ссылку разработчика

Мой связанный ответ здесь

Извините за плохой английский. Спасибо

Попробуйте использовать Android Studio для создания активности Google Maps.

Другие вопросы по тегам