Androidの「プッシュ通知」にC2DMを使用しています。すべてが大丈夫です。
私の質問は; 「デバイスに複数の同期された Gmail アカウントがある場合、どのアカウントが C2DM に使用されるか」を取得できますか?
Androidの「プッシュ通知」にC2DMを使用しています。すべてが大丈夫です。
私の質問は; 「デバイスに複数の同期された Gmail アカウントがある場合、どのアカウントが C2DM に使用されるか」を取得できますか?
C2DMについてはこのリンクを参照し、このリンクでサンプルを入手してください。これで、デバイスはデバイスとの関係を考えます。
以下のコードでは、電子メールIDの使用はデバイス固有ではありません。C2DMは、デバイスに依存せずに、サーバーとC2DM間の対話のためだけに電子メールIDを使用します。
//アプリケーションの開始時に呼び出す
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" />