0

Androidの「プッシュ通知」にC2DMを使用しています。すべてが大丈夫です。

私の質問は; 「デバイスに複数の同期された Gmail アカウントがある場合、どのアカウントが C2DM に使用されるか」を取得できますか?

4

1 に答える 1

0

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" />
于 2012-04-21T09:07:52.367 に答える