Приложение 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.