2012-04-26

C2DM を受け取る処理の置き場所

Android のプッシュ通知であるところの C2DM 。この処理をどこに書けばいいのかを調べるのに、えらく時間がかかったのでメモ。

注意: Hello World も書いたことがなくて、クライアントアプリは他の人がやってくれるんだけど、動作確認をしようとした、というシチュエーション。Android やってる人なら、たぶん常識。

Google Developers の Android Cloud to Device Messaging Framework に、必要なことは載っています。困ったのは Handling Registration Results 以下にある onReceive() メソッドをどこに書くのか、ということでした。文章には your application に、としかないし。

このサンプルの場合、マニフェスト XML のなかに
<receiver android:name=".C2DMReceiver" android:permission="com.google.android.c2dm.permission.SEND">
と記述します。なので、メインのアプリ(っていうんですかね? Activity っていうんですかね?)と同じ階層に C2DMReceiver.java を作って、その中に、

public class C2DMReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        //...
    }
    //...   
}

みたいに書きます。