в this example, приемник вещания начинает работу с услугой. в экземпляре IntentService он запускает метод под названием runIntentInService, этот метод содержит объект PowerManager.WakeLock, чем запуск службы.GCM не может начать регистрацию вручную
теперь, когда я вручную запускает процесс регистрации (от mainActivity) с:
Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
// sets the app name in the intent
registrationIntent.putExtra("app", PendingIntent.getBroadcast(mainActivity.this, 0, new Intent(), 0));
registrationIntent.putExtra("sender", _senderID);
startService(registrationIntent);
в IntentService, объект PowerManager.WakeLock еще не инициализировать, так это нуль.
Я использую this code для регистрации из mainActivity. вместо этого следует использовать the following?
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, SENDER_ID);
} else {
Log.v(TAG, "Already registered");
}
Спасибо!
finaly Я использовал демонстрационную версию groid-клиента android. теперь нужно иметь дело только с сервером – Li3ro