我在 Android 上使用 C2DM 进行“推送通知”。一切正常。
我的问题是;我可以得到“如果设备有多个同步的 gmail 帐户,哪个用于 C2DM”?
我在 Android 上使用 C2DM 进行“推送通知”。一切正常。
我的问题是;我可以得到“如果设备有多个同步的 gmail 帐户,哪个用于 C2DM”?
请参阅此链接以了解C2DM并在此链接上提供示例。现在您的设备认为它与设备相关。
在下面的代码中,使用的电子邮件 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" />