Ads by Google
新しい記事を書く事で広告が消せます。
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のトラフィックをカットしている模様ですね。
確かにセキュリティ面で問題となってきそうな機能ではあります。
| ホーム | Android SMS Pushの活用 【送信】>>
コメント
コメントの投稿
トラックバック
| ホーム |