電気ウナギ的○○

About Home

GCM サンプルクライアントを改造してメッセージを表示するように

shinoda (2013年5月15日 12:22)
GCM のクライアントのテスト。

ADT 導入済みの Eclipse で、Android SDK Manager を起動して Extras→Google Cloud Messaging for Android Library をインストールする。

20130515_Android2.jpg
そしたら、SDK Path(うちの場合は C:\usr\local\adt-bundle\sdk)\extras\google\gcm\samples の下に gcm-demo-client というクライアントのサンプルプログラムができているので、これを Eclipse でビルド&実行する。

手順としては、「Android アプリケーション・プロジェクト」を gcm-demo-client とか適当な名前で作成し、libs、res、src ディレクトリの中は一旦全部削除して、SDK Path\extras\google\gcm\samples\gcm-demo-client の中身で上書きするっていう具合にしてるんだけど、もっとサンプルソースをプロジェクトに組み込む良いやり方があるのかね?

これで、プロジェクトの実行を行なうと、USB 接続された実機を使うか、それともエミュレータを使うか聞かれるので、実機 ASUS TF101 を選択。TF101 上でサンプルプログラムが実行される。

で、TF101 に向けてメッセージをプッシュすると、端末下部にそのメッセージが表示されるんだけど、それは数秒ですぐ消えちゃうので、サンプルプログラム上にメッセージを表示するように、ちょっとプログラムを修正する。

Android GCM 受信したメッセージを表示」というサイトなどを参考に。

具体的には、GCMIntentService.java を修正。

import android.os.Bundle;
を追加して、onMessage を、

    protected void onMessage(Context context, Intent intent) {
        Log.i(TAG, "Received message");

        // ここから追加&修正
        Bundle extras = intent.getExtras();
        String result = extras.getString("message");
        //String message = getString(R.string.gcm_message);
        String message = getString(R.string.gcm_message) + " = " + result;
        // ここまで
        displayMessage(context, message);
        // notifies user
        generateNotification(context, message);
    }

こんな風に修正。

これで、

20130515_Android1.jpg
こんな感じで、プッシュしたメッセージがアプリ画面にも表示される。

ちなみに、最初のメッセージが化けているのは EUC-JP で送ったから(^^;;;
当然メッセージは UTF-8 で送らないと駄目駄目。

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/2479

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE