我正在開發使用C2DM的android推送通知應用程序,我在我的應用程序中遇到了一些問題。 當我在i-e服務器和客戶端應用程序上使用相同的電子郵件地址時,該應用程序正在工作,Android c2dm電子郵件地址問題
任何人都可以告訴我會發生什麼問題。
阿爾塔夫
我正在開發使用C2DM的android推送通知應用程序,我在我的應用程序中遇到了一些問題。 當我在i-e服務器和客戶端應用程序上使用相同的電子郵件地址時,該應用程序正在工作,Android c2dm電子郵件地址問題
任何人都可以告訴我會發生什麼問題。
阿爾塔夫
看來你是錯誤的印象,這是創建識別使用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在谷歌C2DM signup Page
此相同的電子郵件被用來從谷歌服務器的身份驗證令牌,該令牌使用後發送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 signup Page 任何其他電子郵件是可以改變的,無論你喜歡簽署了C2DM,但這些以電子郵件必須保持相同的
這裏從google C2DM page在谷歌代碼的定義:
發件人ID與應用程序的開發者 相關的電子郵件帳戶。在註冊過程中使用發件人ID至 標識允許向該設備發送消息至 的Android應用程序。此ID通常是基於角色的,而不是個人帳戶,例如[email protected]。
我希望我幫忙過一個愉快的一天。
如果您包含代碼片段或關於您正在討論的電子郵件的更多信息,本來就不錯。
這是我第一次見到有人認爲有他們的應用程序工作是一個問題。此外,這是http://stackoverflow.com/q/6725570/778427的重複。如果你第一次沒有得到答案,很可能你問的方式有問題。不要轉貼您的問題。 –