我在Android上使用C2DM进行“推送通知”。一切正常。
我的问题是;我可以得到“如果设备有多个同步的gmail帐户,哪一个用于C2DM”???
[对不起我的英文]
答案 0 :(得分:0)
请参阅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" />