Я прочитал здесь, как получить сообщение GCM: http://developer.android.com/google/gcm/client.html - Я говорю о названии: Получайте сообщение вниз. Существует примечание: использование WakefulBroadcastReceiver не является обязательным требованием. Если у вас относительно простое приложение, которое не требует услуги, вы можете перехватить сообщение GCM в обычном BroadcastReceiver и выполнить свою обработку там. Как только вы поймете, что GCM переходит в метод onReceive() вашего вещательного приемника, то, что вы делаете с ним, зависит от вас.Android получил сообщение GCM и поместил его в уведомление
Когда получено сообщение GCM, я хочу извлечь из него заголовок и поместить его в область уведомлений, поэтому, когда пользователь нажмет на него, он откроет мое приложение с определенным фрагментом. Конечно, устройство может спать, когда приходит это сообщение.
На примере приемника вещания заключается в следующем:
public class GcmBroadcastReceiver extends WakefulBroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// Explicitly specify that GcmIntentService will handle the intent.
ComponentName comp = new ComponentName(context.getPackageName(),
GcmIntentService.class.getName());
// Start the service, keeping the device awake while it is launching.
startWakefulService(context, (intent.setComponent(comp)));
setResultCode(Activity.RESULT_OK);
}
}
Так вот несколько вопросов:
1) бодрствующих радиовещательный приемник является исключительно предотвращает переход устройства в спящий режим или же разбудить его, когда приходит сообщение?
2) Как я могу узнать, нужен ли мне обычный широковещательный приемник или бодрствование?
3) Предполагая, что у меня есть несколько вещательных приемников, как приложение знает, что использовать, когда приходит сообщение?
4) Вместо вызова службы намерения, которая использует намерение широковещательного приемника, если я хочу только извлечь заголовок и поместить его в область уведомлений, я должен просто обработать намерение внутри самого вещательного приемника?
Спасибо за подробный ответ. Я прочитал этот учебник после прочтения вашего ответа, и теперь я понимаю его намного лучше. – Amos