用于 C2DM 注册的邮件帐户
Posted
技术标签:
【中文标题】用于 C2DM 注册的邮件帐户【英文标题】:Mail Account For C2DM Registration 【发布时间】:2012-04-21 07:29:29 【问题描述】:我在 android 上将 C2DM 用于“推送通知”。一切正常。
我的问题是;我可以得到“如果设备有多个同步的 gmail 帐户,哪个用于 C2DM”?
【问题讨论】:
它与设备是否有多个同步帐户无关 例如; x@gmail.com 和 y@gmail.com 帐户与设备同步。我的应用在 x@gmail.com 注册。然后用户删除“该”帐户? 从设备中删除帐户除了不应该从 gmail 停用帐户之外什么都不做,我的意思是你不应该删除你的帐户 gmail 帐户用于从与您的设备无关的服务器发送消息 3 个组件; c2dm - gmail 帐户 - 设备。 c2dm 向 gmail 帐户发送消息。 gmail帐户不是与设备关联吗?谁在向设备发送消息?如果gmail帐户和设备之间没有关系,我无法弄清楚这个过程。 (感谢您的回复) 【参考方案1】:请参阅此链接以获取C2DM 并在此LINK 进行示例。现在您的设备认为它与设备相关。
在下面的代码中,使用的电子邮件 ID 不是特定于设备的。 C2DM 使用电子邮件 ID 仅用于服务器和 C2DM 之间的交互,不依赖于设备。
// 应用启动时调用
public void StartRegistrationNotification()
Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
registrationIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0));
registrationIntent.putExtra("sender", "....@gmail.com");
this.startService(registrationIntent);
// change in Manifest File
<receiver android:name="com.ReceiverC2DM"
android:permission="com.google.android.c2dm.permission.SEND">
<!-- Receive the actual message -->
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="yourpackagename" />
</intent-filter>
<!-- Receive the registration id -->
<intent-filter>
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="yourpackagename" />
</intent-filter>
</receiver>
<permission android:name="yourpackagename.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="yourpackagename.permission.C2D_MESSAGE" />
<!-- This app has permission to register and receive message -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
【讨论】:
以上是关于用于 C2DM 注册的邮件帐户的主要内容,如果未能解决你的问题,请参考以下文章
Grails / Spring Security - 注册电子邮件未解锁帐户
PayPal IPN - 使用不同的电子邮件将用户注册到 PayPal 帐户