zoukankan      html  css  js  c++  java
  • adnroid 监听收到的短信并根据短信内容进行回复短信

    定义一个广播接收器

    public class SMSReceiver extends BroadcastReceiver {
        private SmsManager smsManager;
    
        @Override
        public void onReceive(Context arg0, Intent intent) {
            
            if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
                
                SharedPreferences sp = arg0.getSharedPreferences("MSG_SEND_RESULT", Activity.MODE_PRIVATE);
                SharedPreferences.Editor editor = sp.edit();
                
    
                smsManager = SmsManager.getDefault();
                
                Object[] pdus=(Object[])intent.getExtras().get("pdus");
                
                SmsMessage[] message=new SmsMessage[pdus.length];
                
                for(int i=0;i<pdus.length;i++){
                    message[i]=SmsMessage.createFromPdu((byte[])pdus[i]);
                    
                    String msgAddr = message[i].getDisplayOriginatingAddress();
                    String msgContent = message[i].getDisplayMessageBody();
                    
                    //自动回复短信
                    String content = "";
                    int count = 0;
                    if(msgContent.trim().equals("1")){//android
                        content = "android";
                        smsManager.sendTextMessage(msgAddr, null, content, null, null);
                        count = sp.getInt("android", 0)+1;
                        editor.putInt("android", count);
                        editor.apply();
                    }else if(msgContent.trim().equals("2")){//ios
                        content = "ios";
                        smsManager.sendTextMessage(msgAddr, null, content, null, null);
                        count = sp.getInt("iphone", 0)+1;
                        editor.putInt("iphone", count);
                        editor.apply();
                    }
                }
            }
        }
    }

    添加权限:

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

    注册receiver

    <receiver android:name="com.auto.SMSReceiver">
                <intent-filter>
                    <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                </intent-filter>
    </receiver>
  • 相关阅读:
    [NOTE]常用Linux命令总结[Thx for commandlinefu]
    [原]隧道Proxy原理详解(基于Node.js)
    [转]MySQL索引详解(1)
    [QA]服务端进程模型
    [转]MySQL索引详解(2)
    非动态规划实现LCS算法
    Java里线程安全的有界容器的实现
    maven历史版本下载
    JDK9下载
    maven排除依赖和添加本地依赖
  • 原文地址:https://www.cnblogs.com/yshyee/p/3552494.html
Copyright © 2011-2022 走看看