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>
  • 相关阅读:
    关于接口测试的一些个人总结
    PMP学习考试回顾与心得
    RHCE第2课
    RHCE第1课
    kafka中对于zookeeper的理解和leader选举过程
    基于python的Selenium使用
    安装python第三方包的几种方式
    Vi命令下几种容易混淆的插入方式
    python单元测试框架unittest
    关于SQL子查询的一个问题
  • 原文地址:https://www.cnblogs.com/yshyee/p/3552494.html
Copyright © 2011-2022 走看看