2

私が使用している Android エミュレーターで完全に動作しているデバイスにプッシュ通知を送信するサード パーティ サーバーの実例を取得しました。実際のデバイス(Samsung Galaxy S)で使用しようとするとすぐに、通知を受信しなくなります.Googleサーバーにデバイスを再登録しても(同じgmailアカウントを使用しているため). Logcat からは興味深い情報が得られないため、基本的にどこから調べればよいかわかりません。コードはエミュレーター デバイスで動作しているので、パーミッション ルールを調べ始めることになると思います。何か案は?

これが問題かどうかはわかりませんが、開発/デバッグに Ubuntu 10.10 を使用しています。

4

2 に答える 2

4

ROLEアカウントのGmailIDは、電話で設定されているGmail IDと同じですか?私はこれに問題がありました。もしそうなら、あなたは電話で他のGmailIDを使ってみることができますか?詳細については、これを参照してください。

于 2011-04-15T15:48:45.873 に答える
0

それは許可の問題でしょうか?マニフェストに適切な許可を設定しましたか? おそらく、エミュレーターは権限の欠如についてそれほど厳密ではありません(私は、一部のデバイスが機能し、他のデバイスが機能しないことがあり、欠けていたのはマニフェストの許可だけだったことを経験しました)

両方を設定する必要があります

 <permission
        android:name="your.packagename.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

<uses-permission android:name="your.packagename.matchtracker.permission.C2D_MESSAGE" />

マニフェストのメイン セクションで、ブロードキャスト レシーバーを次のように宣言します。

<receiver
            android:name=".push.RegistrationReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />

                <category android:name="your.packagename" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

                <category android:name="your.packagename" />
            </intent-filter>
        </receiver>
于 2012-05-23T15:35:11.240 に答える