0

いくつかの調整と開始の後、Android C2DM がエミュレーターで動作するようになりました。アプリを初めて起動すると、chrometophone プロジェクトのコードを使用して C2DM サービスに登録されます。はregistrationIdプリファレンスに保存され、その後の起動で使用されます。

これは、エミュレーターが実行されている限り、起動から起動まで問題なく機能するようです。ただし、エミュレーターを強制終了して再起動すると、C2DM メッセージの受信を再開するには、アプリで新しい登録が必要になります。これは既知/予想される動作ですか?

4

1 に答える 1

0

はい、これは既知/予想される動作です。C2DM の有効化の項目 2 には次のように書かれています。

登録が成功すると、C2DM サーバーはアプリケーションに登録 ID を与える REGISTRATION Intent をブロードキャストします。アプリケーションは、後で使用するためにこの ID を保存する必要があります。Google は定期的に登録 IDを更新する場合があるため、REGISTRATION インテントが複数回呼び出される可能性があることを理解してアプリケーションを設計する必要があります。アプリケーションはそれに応じて応答できる必要があります。

登録 ID は頻繁に変更されることがわかりました。また、登録 ID が変更された後でも、古いものはしばらくの間動作する可能性があることもわかりました。

于 2012-06-15T19:28:13.737 に答える