Android短消息推送启动应用程序(SMS PUSH)(BroadCastReceiver)
来源:互联网 发布:银河编辑器知乎 编辑:程序博客网 时间:2024/05/24 02:35
程序通过BroadCastReceiver监听短消息,并判断短信的号码,当满足预设号码时,启动一个Activity。
SmsReceiverActivity.java
package com.zeph.android.sms.receiver;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.widget.TextView;/** * * @author BenZeph * */public class SmsReceiverActivity extends Activity {private TextView myTextView;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Intent intent = getIntent();String message = intent.getStringExtra("MESSAGE");myTextView = (TextView) findViewById(R.id.myTextView);myTextView.setText(message);}}
程序的重点在BroadCastReceiver
SmsBroadCastReceiver.java
package com.zeph.android.sms.receiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.SmsMessage;/** * * @author BenZeph * */public class SmsBroadCastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {String phoneNum = "";StringBuilder sb = new StringBuilder();Bundle bundle = intent.getExtras();if (bundle != null) {Object[] myObjectPuds = (Object[]) bundle.get("pdus");SmsMessage[] messages = new SmsMessage[myObjectPuds.length];for (int i = 0; i < myObjectPuds.length; i++)messages[i] = SmsMessage.createFromPdu((byte[]) myObjectPuds[i]);for (SmsMessage currentMessage : messages) {sb.append("消息来自:\n");sb.append(currentMessage.getDisplayOriginatingAddress());phoneNum = currentMessage.getDisplayOriginatingAddress();sb.append("\n短消息内容\n");sb.append(currentMessage.getDisplayMessageBody());}}if (phoneNum.equals("09681000631")) {Intent intentNewTask = new Intent(context,SmsReceiverActivity.class);intentNewTask.putExtra("MESSAGE", sb.toString());intentNewTask.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intentNewTask);}}}Manifest要注册Receiver,同时提供短消息的User-Permission
Manifest
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zeph.android.sms.receiver" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".SmsReceiverActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="SmsBroadCastReceiver"> <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> </application></manifest>
- Android短消息推送启动应用程序(SMS PUSH)(BroadCastReceiver)
- android push:Android短消息推送启动应用程序(SMS PUSH)(BroadCastReceiver)
- J2ME SMS PUSH 短消息推送
- Android push (一):SMS push
- Android push (一):SMS push
- 【SMS】SMS协议介绍之短消息中心(SC)
- 用RIL库中的函数进行短消息(SMS)发送
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- iPhone消息推送机制(Push)实现及通过.net应用程序发送消息给ios应用程序
- 关于android推送服务器Androidpn(Android push notification)
- Flume数据推送(Push)
- 消息推送(Server Push)
- 消息推送(push原理)
- Netty实现服务器推Push(Android推送)
- 如何用BREW短消息启动BREW应用程序
- SMS(短消息服务)
- Android Push消息推送
- silk整体描述
- JToolbar禁止浮动
- smarty新闻管理系统
- 用于RegularExpressionValidator的正则表达式
- 经典:从追MM谈Java的23种设计模式
- Android短消息推送启动应用程序(SMS PUSH)(BroadCastReceiver)
- jquery Uploadify bug 追踪
- 第5章 常量--变量C++/C 编程指南,v 1.0
- Salesforce Dataloader 导入数据几条注意事项
- hadoop实践一
- dedecms代码详解-1
- 近期个人学习资料整理
- android onNewIntent
- 在VC中把一个int类型的数据显示出来。