android 短信自动转发功能
16lz
2021-01-23
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);}}
更多相关文章
- Android手机号码判断正则表达式
- Android查询所有联系人和根据号码查询联系人方法
- Android短信验证服务分享
- Android 身份证号码查询、手机号码查询、天气查询
- android 双卡手机发短信/判断手机是否为双卡
- android 短信发送学习
- Android中通过来电转移实现“电话已关机”,“此号码已停机”等
- Android 短信模块分析(二) MMS中四大组件核心功能详解
- Android短信编解码方式