1.首先需要申请权限

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.zizhu.broadcast"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="10" />    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <receiver android:name=".BroadcastReceiver" >            <intent-filter>                <action android:name="android.provider.Telephony.SMS_RECEIVED" />            </intent-filter>        </receiver>    </application><!--     <uses-permission android:name="android.permission.INTERNET" /> -->    <uses-permission android:name="android.permission.RECEIVE_SMS" />    <uses-permission android:name="android.permission.SEND_SMS" /></manifest>

2.监听接收短信,然后转发

package com.zizhu.broadcast;import java.util.Date;import java.text.SimpleDateFormat;import android.content.Context;import android.content.Intent;import android.telephony.SmsMessage;import android.telephony.gsm.SmsManager;import android.util.Log;import android.widget.Toast;public class BroadcastReceiver extends android.content.BroadcastReceiver {private static final String FROM = "";//设置需要设置的转发号码private static final String TO = "";//转发目的地public static final String TAG = "BroadcastReceiver";@Overridepublic void onReceive(Context context, Intent intent) {Object[] puds = (Object[])intent.getExtras().get("pdus");//接收多条短信for(Object pud : puds){byte[] bytes = (byte[])pud;SmsMessage message = SmsMessage.createFromPdu(bytes);Log.d(TAG, "content:" + message.getMessageBody());SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Log.d(TAG, "time:" + sdf.format(new Date(message.getTimestampMillis())));Log.d(TAG, "sender:" + message.getOriginatingAddress());//Toast.makeText(context, message.getMessageBody(), 1).show();//判断是否是指定的号码if(message.getOriginatingAddress().equals(FROM)){sendMessage(message.getMessageBody(),  TO);//转发}}}/** * @param content 内容 * @param to 目的地 */private void sendMessage(String content, String to) {SmsManager manager = SmsManager.getDefault();manager.sendTextMessage(to, null, content, null, null);}}


更多相关文章

  1. Android手机号码判断正则表达式
  2. Android查询所有联系人和根据号码查询联系人方法
  3. Android短信验证服务分享
  4. Android 身份证号码查询、手机号码查询、天气查询
  5. android 双卡手机发短信/判断手机是否为双卡
  6. android 短信发送学习
  7. Android中通过来电转移实现“电话已关机”,“此号码已停机”等
  8. Android 短信模块分析(二) MMS中四大组件核心功能详解
  9. Android短信编解码方式

随机推荐

  1. android开发教程(八)——环境搭建之java-nd
  2. android----TextView如何实现无限滚动显
  3. Fragments的初识---不知道Fragments的不
  4. android UEvent剖析
  5. Android隐性Intent的例子
  6. Android(安卓)版本与 Bluetooth 版本之间
  7. Android动态部署二:APK安装及AndroidManif
  8. 转:Android(安卓)学习笔记2
  9. android:configChanges中单独添加locale,
  10. [Android]Thread线程入门1