2014-09-25 4 views
-1

Я делаю приложение Android с помощью API Карт Google v2. Поскольку для этого требуется какая-то последняя версия сервисов google play, я добавил этот код ниже в OnResume().Ошибка при обновлении пользователей Службы Google Play

int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 

// Check Google Play Service Available 
try { 
    if (status != ConnectionResult.SUCCESS) { 
     GooglePlayServicesUtil.getErrorDialog(status, this, 10, new DialogInterface.OnCancelListener() { 

      @Override 
      public void onCancel(DialogInterface dialog) { 
       // TODO Auto-generated method stub 
       Runnable r = new Runnable() { 

        @Override 
        public void run() { 
         // TODO Auto-generated method stub 
         onBackPressed(); 

        } 

       }; 
       r.run(); 
      } 
     }).show(); 
    } 
} catch (Exception e) { 
    Log.e("Error: GooglePlayServiceUtil: ", "" + e); 

} 

Он отлично работает на телефонах с Android 4.4 и более (если телефон не имеет последнюю версию предупреждение появляется диалоговое окно, и когда я нажимаю ОК мультисервисных услуг страница обновление Google приходит), но в Android 4.0 он падает, когда я нажимаю OK.

Я просто не могу понять, почему это происходит. на LogCat, я получить некоторые исключения нулевого указателя

at android.app.Instrumentation.execStartActivity 
at android.app.Activity.startActivityForResult 
at android.support.v4.app.FragmentActivity.startActivityForResult 

т.д.

Итак, как я могу иметь старые ОС пользователям получить на странице обновления прямо сейчас?

ответ

1

Попробуйте

  if (GooglePlayServicesUtil.isUserRecoverableError(status)) { 
       GooglePlayServicesUtil.getErrorDialog(status, this, 10, new DialogInterface.OnCancelListener() { 

        @Override 
        public void onCancel(DialogInterface dialog) { 
         // TODO Auto-generated method stub 
         Runnable r = new Runnable() { 

          @Override 
          public void run() { 
           // TODO Auto-generated method stub 
           onBackPressed(); 

          } 

         }; 
         r.run(); 
        } 
       }).show(); 
      } else { 
       Toast.makeText(this, "This device is not supported.", Toast.LENGTH_LONG).show(); 
       finish(); 
      } 
+0

Звуки законны. Я попробую. Кстати, кстати, я добавил намерение интернет-страницы для сервисов google play в google play store после тоста. – user345

+0

он отлично работает. благодаря... – user345