Ads by Google

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android SMS Pushの活用 【受信】

前回はWAP Pushの送信について書きましたが今回は受信についてです。

Pushの受信はBroadcastReceiverを利用します。BoradcastReceiverを設定することにより、Androidプラットフォームで発生したイベント(e.g. 電話着信、Mail受信、Apkインストールなど)を契機としてブロードキャストされるIntentを受信し、そこからActivityやServiceを起動することができます。


SMS PushのBroadcastを受信するBroadcastReceiverクラスの実装例です。
===================================================
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class pushReceiver extends BroadcastReceiver{ //BroadcastReceiverクラスの継承

        final String ACTION ="android.provider.Telephony.WAP_PUSH_RECEIVED"; 

        @Override 
        public void onReceive(Context context, Intent intent) {

                if (intent.getAction().equals(ACTION)){  //WAP PUSH受信に対して

                        context.startActivity(new Intent(context, ViewReceivedPush.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); //別タスクでActivityクラスを起動 

               
        }
}
===================================================

 

 

マニフェストにreceiver情報とWAP Push受信のパーミッションを記載します。今回の例ではService LoadingのWAP Pushを受信するReceiverを想定しています。

===================================================
<receiver android:name=".pushReceiver" android:exported="true">
        <intent-filter>
                <data android:mimeType="application/vnd.wap.slc"></data>
                <action android:name="android.provider.Telephony.WAP_PUSH_RECEIVED"></action>
        </intent-filter>
</receiver>


<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"></uses-permission>

===================================================

 

前回のWAP Push送信Activityクラスと今回の受信Receiverでキャッチボールを試みてみました。しかし、残念なことに日本のdocomoネットワークではWAP Push受信はできませんでした。。。サーバー側でWAP SMSのトラフィックをカットしている模様ですね。

確かにセキュリティ面で問題となってきそうな機能ではあります。

テーマ : グーグルモバイル - ジャンル : 携帯電話・PHS

コメント

コメントの投稿

トラックバック


この記事にトラックバックする(FC2ブログユーザー)