Android_监听系统短信

来源:互联网 发布:ireport java 编辑:程序博客网 时间:2024/06/09 19:17

1.发送短信
(1)发送消息

mBtnSend.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View v) {        //获取SmsManager的实例        SmsManager smsManager=SmsManager.getDefault();        //通过这个方法将消息发送到指定的用户,一共有五个参数        //第一个参数:电话号码  第二个参数:不详,填null        //第三个参数:要发送的内容        //第四个参数:不详,填PendingIntent对象        //第五个参数:不详,填null        smsManager.sendTextMessage(mEdtNum.getText().toString(),null,                mEdtContent.getText().toString(), null,null);    }});

(2)发送完毕后,对发送状态进行监听(是否发送成功)
//这三步是动态绑定广播

 IntentFilter intentFilter=new IntentFilter("SEND_STATUS");    mMyBroadCast = new MyBroadCast();    registerReceiver(mMyBroadCast,intentFilter);    mBtnSend.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            //获取SmsManager的实例            SmsManager smsManager=SmsManager.getDefault();            //这个Action是已经注册的广播的Action            //把它添加到PendingIntent中,PendingIntent对象            //添加到sendTextMessage()方法中实现广播的发送            Intent intent=new Intent("SEND_STATUS");            PendingIntent pendingIntent=PendingIntent.                    getBroadcast(Main4Activity.this,0,intent,0);            //通过这个方法将消息发送到指定的用户,一共有五个参数            //第一个参数:电话号码  第二个参数:不详,填null            //第三个参数:要发送的内容            //第四个参数:不详,填PendingIntent对象            //第五个参数:不详,填null            smsManager.sendTextMessage(mEdtNum.getText().toString(),null           ,mEdtContent.getText().toString(), pendingIntent,null);        }    });}class MyBroadCast extends BroadcastReceiver{    @Override    public void onReceive(Context context, Intent intent) {        if(getResultCode()==RESULT_OK){            Toast.makeText(context, "发送成功", Toast.LENGTH_SHORT).show();        }else{            Toast.makeText(context, "发送失败", Toast.LENGTH_SHORT).show();        }    }}
原创粉丝点击