Создается впечатление, что у вас сложилось неправильное впечатление, что учетная запись электронной почты роли, созданная для идентификации приложения, использующего службу C2DM, должна быть изменена в намерении регистрации.
У вас должна быть та же самая электронная почта ролив противном случае Google не сможет идентифицировать ваше приложение как отправителя / получателя этого сообщения c2dm.Пример регистрационного намерения:
Intent registrationIntent = new Intent(
C2DMessaging.REQUEST_REGISTRATION_INTENT);
registrationIntent.setPackage(C2DMessaging.GSF_PACKAGE);
registrationIntent.putExtra(
C2DMessaging.EXTRA_APPLICATION_PENDING_INTENT,
PendingIntent.getBroadcast(context, 0, new Intent(), 0));
registrationIntent.putExtra(C2DMessaging.EXTRA_SENDER, senderId);
context.startService(registrationIntent);
Переменная senderId здесь должна содержать учетную запись роли, которую вы создали и зарегистрировали для C2DM на странице регистрации google C2DM
Этот же адрес электронной почтыиспользуется для получения токена аутентификации с серверов Google, который используется для последующей отправки сообщений C2DM
Пример кода сервера для получения ключа аутентификации:
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("Email",
senderId));
nameValuePairs.add(new BasicNameValuePair("Passwd", "testpassword"));
nameValuePairs.add(new BasicNameValuePair("accountType", "GOOGLE"));
nameValuePairs.add(new BasicNameValuePair("source",
"Fleet Tracker Pro"));
nameValuePairs.add(new BasicNameValuePair("service", "ac2dm"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
if (line.startsWith("Auth=")) {
String auth = line.substring(5);
System.out.println("Auth token = " + auth);
return auth;
}
}
обратите внимание на переменную senderId, которая также должна хранитьсяучетная запись роли, которую вы создали и зарегистрировали для C2DM на странице регистрации google C2DM , любой другой адрес электронной почты может быть изменен на любой другой, который вам нравится, но этот адрес электронной почты должен оставаться идентичным
здесьопределение со страницы Google C2DM в коде Google:
Идентификатор отправителя Учетная запись электронной почты, связанная с разработчиком приложения.Идентификатор отправителя используется в процессе регистрации для идентификации приложения Android, которому разрешено отправлять сообщения на устройство.Этот идентификатор, как правило, основан на ролях, а не является личным аккаунтом - например, my-app@gmail.com.
Надеюсь, я помог провести хороший день.
было бы неплохо, если бы вы включили фрагменты кода или дополнительную информацию об электронных письмах, о которых вы говорите.