Android'de yeni Google Haritalar V2 API'sini kullanırken, cihazında Google Play (Hizmetler) uygulaması yüklü değilse kullanıcı bir hata mesajı görür. Bu hata mesajının stilini bir şekilde daha az sarsıcı hale getirmek ve uygulama stilini daha uygun hale getirmek için bir şekilde değiştirmenin mümkün olup olmadığını merak ediyorum.Android'de Google Play Hizmetleri hatası nasıl oluşturulur
cevap
yaptıktan sonra bazı soruşturma, ben en iyi çözüm elle Google Play Hizmetleri kütüphanesinin olmadığını denetlemek ve özel bir hata görüntülemek olduğuna karar:
Bu
hata neye benzediği iletişim veya hata düzeni.GooglePlayServicesUtil
'da bazı fayda yöntemleri vardır, bu da bunu oldukça basitleştirmektedir.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int statusCode =
GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (statusCode == ConnectionResult.SUCCESS) {
// Continue with your regular activity/fragment configuration.
} else {
// Hide the map fragment so the default error message is not
// visible.
findViewById(R.id.map).setVisibility(View.GONE);
// Show a custom error message
showErrorMessage(statusCode);
}
}
private void showErrorMessage(final int statusCode) {
// I've outlined two solutions below. Pick which one works best for
// you and remove the if-block.
boolean showDialog = false;
if (showDialog) {
// This is the easiest method and simply displays a pre-configured
// error dialog
GooglePlayServicesUtil.getErrorDialog(statusCode, this, 0).show();
} else {
// Show a completely custom layout
findViewById(R.id.error).setVisibility(View.VISIBLE);
// Wire up the button to install the missing library
Button errorButton = (Button) findViewById(R.id.error_button);
errorButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
// Perform the correct action for the given status
// code!
GooglePlayServicesUtil.getErrorPendingIntent(
statusCode, getActivity(), 0).send();
} catch (CanceledException e1) {
// Pass
}
}
});
}
}
Ve düğme için uygun metin nasıl ayarlanır? –
Uyarıyı göstermek için önce 'GooglePlayServicesUtil.isUserRecoverableError (statusCode)' seçeneğini kontrol etmek daha iyidir – bryant1410
GooglePlayServiceUtil
kullanımdan kaldırıldı. En son arayüzler içinGoogleApiAvailability
'a bakın.Doğrudan
AlertDialog
numaralı hata yerine sağlananDialogFragment
numarasını kullanmayı tercih edin, böylece etkinlik tarafından düzgün bir şekilde yönetilebilir.public static boolean checkPlayServices(FragmentActivity activity) { GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance(); int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(activity); if (resultCode != ConnectionResult.SUCCESS) { if (googleApiAvailability.isUserResolvableError(resultCode)) { // "user resolvable" means Google Play is available to download the last version of Play Services APK // This will open Google dialog fragment displaying the proper message depending on "resultCode" googleApiAvailability.showErrorDialogFragment(activity, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST); } else { // Should not happen. This device does not support Play Services. // Let's show an ultimate warning. MyCustomPlayServicesErrorDialogFragment playServicesErrorDialog = new MyCustomPlayServicesErrorDialogFragment(); playServicesErrorDialog.show(activity.getFragmentManager(), TAG); } return false; } return true; }
- 1. IllegalAccessError Google Play Hizmetleri
- 2. Google Play Hizmetleri İstatistikler
- 3. Proguard, Google Play Hizmetleri kütüphanesi
- 4. Google Play oyun hizmetleri - Android örnekleri hataları
- 5. Google Play oyun hizmetleri ile Andangine
- 6. Android Studio'da Proguard ile Google Play Hizmetleri
- 7. Google Play Hizmetleri Etkinlik Tanıma - Pil kullanımı?
- 8. Auth sınıfı nerede - Google Play Hizmetleri 8.3.0
- 9. Seçici Google Play Hizmetleri API Sınıfları bulamıyor
- 10. hizmetleri Google için 9.0.0
- 11. Google Play Hizmetleri: Eşlerin ağ bağlantısının kesilmesi nasıl kullanılır?
- 12. Android: Google Play'i Play Hizmetleri olmadan nasıl uygular
- 13. Android: Google oyun hizmetleri hizmetleri bağlantı hatası (java.lang.IllegalStateException: GoogleApiClient bağlanmalıdır.)
- 14. Android için VS Emulator: Google Play Store Gapps'in Yeni Yüklendikten Sonra Çöküyor (Google Play Hizmetleri)
- 15. android hizmetlerinin bulunduğu yer hizmetleri etkinleştirme play hizmetleri konum api
- 16. Kullanılmayan sınıfları Google Play Hizmetleri kitaplığında kaldırmak için Proguard'ı kullanma
- 17. Google Play Store gizliyse, Google Play Hizmeti de kullanılamaz
- 18. Google Play API döndürme hatası 401
- 19. Google Play Hizmeti güncel değil hatası
- 20. Google+ Oturum Çal Hizmetleri Android
- 21. Android emülatörü Google Play Hizmetlerinin güncelliğini
- 22. androidde openssl nasıl kurulur
- 23. Google-oyun hizmetleri ile proguard
- 24. Android Studio Google play-servis kütüphanesi
- 25. hatası (Google+ hatası)
- 26. Hangi Google Play API'sı 'Advertising ID' içinde?
- 27. Google breakpad nasıl oluşturulur
- 28. Yükleme Hatası - APK dosyası Google Play Geliştirici Konsolu'na yüklenemiyor
- 29. Google Play geliştirici konsolunda hata # 668269003 hatası nedir?
- 30. REST Play çerçevesini kullanarak URL hatası işleme
Nasıl ki getiriyorsunuz? GetErrorDialog() 'dan gelen sonuç neredeyse sarsıcı değildir. Bu, UI'nin bu bölümünü etkilemek için belgelenmiş hiçbir şey görmedim. – CommonsWare
Sadece bir XML düzeninde gömülü harita parçasına sahibim. Oynatma servisleri eksikse bu içeriği gösterir. Hata iletişim seçeneği hakkında bilmiyordum! Bu iyi bir çözüm gibi görünüyor. – twaddington
Evet, getErrorDialog() 'yoluna gidecektim. Maps V2 deneyiminin tüm kısmı berbat, ama 'getErrorDialog()' bana en az emmek için bana görünüyordu. :-) – CommonsWare