Реализация зависаний com.google.android.gms.location.LocationClient
Я разрабатываю проект Android-библиотеки с Android Studio, которая использует google-play-services для использования API Geofences.
Чтобы включить сервисы Play, я использую maven (правило сборки в файле gradle.build) в точности так, как показано в официальной документации Android ( http://developer.android.com/google/play-services/setup.html). В этой Android-библиотеке я проверяю, что Сервисы Google Play доступны по методу GooglePlayServicesUtil.isGooglePlayServicesAvailable
перед созданием LocationClient
,
Log.d(TAG, "Registering geofences");
try{
if(GooglePlayServicesUtil.isGooglePlayServicesAvailable(this) != ConnectionResult.SUCCESS){
Log.e(TAG, "Google Play Services unavailable");
return;
}else
Log.d(TAG, "Google Play Services are available");
Log.d(TAG, "creating LocationClient");
locationClient = new LocationClient(context, this, this);
Log.d(TAG, "connecting LocationClient");
locationClient.connect();
} catch (Exception e) {
e.printStackTrace();
}
Вот журнал, который я получаю от Logcat:
04-11 09:45:27.331 23741-23781/foo.bar.myoldapp D/AWRLocationService﹕ Registering geofences
04-11 09:45:27.331 23741-23781/foo.bar.myoldapp W/dalvikvm﹕ VFY: unable to resolve static field 3086 (common_google_play_services_install_title) in Lcom/google/android/gms/R$string;
04-11 09:45:27.331 23741-23781/foo.bar.myoldapp D/dalvikvm﹕ VFY: replacing opcode 0x60 at 0x004b
{... and around 20 similar lines ...}
04-11 09:45:27.341 23741-23781/foo.bar.myoldapp E/GooglePlayServicesUtil﹕ The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
04-11 09:45:27.351 23741-23781/foo.bar.myoldapp D/AWRLocationService﹕ Google Play Services are available
04-11 09:45:27.351 23741-23781/foo.bar.myoldapp D/AWRGeofencesReceiver﹕ creating LocationClient
04-11 09:45:27.351 23741-23781/foo.bar.myoldapp W/dalvikvm﹕ VFY: unable to resolve static field 3100 (location_client_powered_by_google) in Lcom/google/android/gms/R$string;
04-11 09:45:27.351 23741-23781/foo.bar.myoldapp D/dalvikvm﹕ VFY: replacing opcode 0x60 at 0x0019
04-11 09:45:30.731 23741-23741/foo.bar.myoldapp D/AWRWifiScanResultBroadcastReceiver﹕ onReceive
Как вы можете видеть, сервисы Google Play, похоже, не включены полностью по неизвестной мне причине (поскольку я включаю их так, как Google просит меня). Но, похоже, они присутствуют, так как GooglePlayServicesUtil.isGooglePlayServicesAvailable
возвращает истину. Затем я создаю экземпляр LocationClient, и ничего не происходит. Исключение не выдается, и журнал ошибок не отображается. Что я сделал не так?