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

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 で送らないと駄目駄目。

トラックバック(0)

このブログ記事を参照しているブログ一覧: GCM サンプルクライアントを改造してメッセージを表示するように

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/2479

コメントする

このブログ記事について

このページは、shinodaが2013年5月15日 12:22に書いたブログ記事です。

ひとつ前のブログ記事は「Perl で Google Cloud Messaging サーバプログラムを書いてみた」です。

次のブログ記事は「Android GCM サーバの権限チェック機能を検証する」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら